class Artifactory::Resource::User

Public Class Methods

all(options = {}) click to toggle source

Get a list of all users in the system.

@param [Hash] options

the list of options

@option options [Artifactory::Client] :client

the client object to make the request with

@return [Array<Resource::User>]

the list of users
# File lib/artifactory/resources/user.rb, line 32
def all(options = {})
  client = extract_client!(options)
  client.get("/api/security/users").map do |hash|
    from_url(hash["uri"], client: client)
  end
end
find(name, options = {}) click to toggle source

Find (fetch) a user by its name.

@example Find a user by its name

User.find('readers') #=> #<User name: 'readers' ...>

@param [String] name

the name of the user to find

@param [Hash] options

the list of options

@option options [Artifactory::Client] :client

the client object to make the request with

@return [Resource::User, nil]

an instance of the user that matches the given name, or +nil+
if one does not exist
# File lib/artifactory/resources/user.rb, line 57
def find(name, options = {})
  client = extract_client!(options)

  response = client.get("/api/security/users/#{url_safe(name)}")
  from_hash(response, client: client)
rescue Error::HTTPError => e
  raise unless e.code == 404

  nil
end

Public Instance Methods

delete() click to toggle source

Delete this user from artifactory, suppressing any ResourceNotFound exceptions might occur.

@return [Boolean]

true if the object was deleted successfully, false otherwise
# File lib/artifactory/resources/user.rb, line 86
def delete
  client.delete(api_path)
  true
rescue Error::HTTPError => e
  false
end
save() click to toggle source

Creates or updates a user configuration depending on if the user configuration previously existed.

@return [Boolean]

# File lib/artifactory/resources/user.rb, line 99
def save
  if self.class.find(name, client: client)
    client.post(api_path, to_json, headers)
  else
    client.put(api_path, to_json, headers)
  end
  true
end

Private Instance Methods

api_path() click to toggle source

The path to this user on the server.

@return [String]

# File lib/artifactory/resources/user.rb, line 115
def api_path
  @api_path ||= "/api/security/users/#{url_safe(name)}"
end
headers() click to toggle source

The default headers for this object. This includes the Content-Type.

@return [Hash]

# File lib/artifactory/resources/user.rb, line 124
def headers
  @headers ||= {
    "Content-Type" => "application/vnd.org.jfrog.artifactory.security.User+json",
  }
end