class Artifactory::Resource::Group
Public Class Methods
all(options = {})
click to toggle source
Get a list of all groups 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::Group>]
the list of groups
# File lib/artifactory/resources/group.rb, line 32 def all(options = {}) client = extract_client!(options) client.get("/api/security/groups").map do |hash| from_url(hash["uri"], client: client) end end
find(name, options = {})
click to toggle source
Find (fetch) a group by its name.
@example Find a group by its name
Group.find('readers') #=> #<Group name: 'readers' ...>
@param [String] name
the name of the group to find
@param [Hash] options
the list of options
@option options [Artifactory::Client] :client
the client object to make the request with
@return [Resource::Group, nil]
an instance of the group that matches the given name, or +nil+ if one does not exist
# File lib/artifactory/resources/group.rb, line 57 def find(name, options = {}) client = extract_client!(options) response = client.get("/api/security/groups/#{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 group from artifactory, suppressing any ResourceNotFound
exceptions might occur.
@return [Boolean]
true if the object was deleted successfully, false otherwise
# File lib/artifactory/resources/group.rb, line 82 def delete client.delete(api_path) true rescue Error::HTTPError false end
save()
click to toggle source
Creates or updates a group configuration depending on if the group configuration previously existed.
@return [Boolean]
# File lib/artifactory/resources/group.rb, line 95 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 group on the server.
@return [String]
# File lib/artifactory/resources/group.rb, line 111 def api_path @api_path ||= "/api/security/groups/#{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/group.rb, line 120 def headers @headers ||= { "Content-Type" => "application/vnd.org.jfrog.artifactory.security.Group+json", } end