class KeycloakAdmin::GroupClient

Public Class Methods

new(configuration, realm_client) click to toggle source
Calls superclass method KeycloakAdmin::Client::new
# File lib/keycloak-admin/client/group_client.rb, line 3
def initialize(configuration, realm_client)
  super(configuration)
  raise ArgumentError.new("realm must be defined") unless realm_client.name_defined?
  @realm_client = realm_client
end

Public Instance Methods

create!(name, path = nil) click to toggle source
# File lib/keycloak-admin/client/group_client.rb, line 16
def create!(name, path = nil)
  response = save(build(name, path))
  created_id(response)
end
groups_url(id=nil) click to toggle source
# File lib/keycloak-admin/client/group_client.rb, line 29
def groups_url(id=nil)
  if id
    "#{@realm_client.realm_admin_url}/groups/#{id}"
  else
    "#{@realm_client.realm_admin_url}/groups"
  end
end
list() click to toggle source
# File lib/keycloak-admin/client/group_client.rb, line 9
def list
  response = execute_http do
    RestClient::Resource.new(groups_url, @configuration.rest_client_options).get(headers)
  end
  JSON.parse(response).map { |group_as_hash| GroupRepresentation.from_hash(group_as_hash) }
end
save(group_representation) click to toggle source
# File lib/keycloak-admin/client/group_client.rb, line 21
def save(group_representation)
  execute_http do
    RestClient::Resource.new(groups_url, @configuration.rest_client_options).post(
      group_representation.to_json, headers
    )
  end
end

Private Instance Methods

build(name, path) click to toggle source
# File lib/keycloak-admin/client/group_client.rb, line 39
def build(name, path)
  group      = GroupRepresentation.new
  group.name = name
  group.path = path
  group
end