Class: KeycloakAdmin::RoleClient
  
  
  
  
  
    - Inherits:
 
    - 
      Client
      
        
          - Object
 
          
            - Client
 
          
            - KeycloakAdmin::RoleClient
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/keycloak-admin/client/role_client.rb
 
  
  
 
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Client
  #create_payload, #created_id, #current_token, #execute_http, #headers, #server_url
  Constructor Details
  
    
  
  
    #initialize(configuration, realm_client)  ⇒ RoleClient 
  
  
  
  
    
Returns a new instance of RoleClient.
   
 
  
    
      
3
4
5
6
7 
     | 
    
      # File 'lib/keycloak-admin/client/role_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
     | 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    #get(name)  ⇒ Object 
  
  
  
  
    
      
16
17
18
19
20
21 
     | 
    
      # File 'lib/keycloak-admin/client/role_client.rb', line 16
def get(name)
  response = execute_http do
    RestClient::Resource.new(role_name_url(name), @configuration.rest_client_options).get()
  end
  RoleRepresentation.from_hash JSON.parse(response)
end
     | 
  
 
    
      
  
  
    #list  ⇒ Object 
  
  
  
  
    
      
9
10
11
12
13
14 
     | 
    
      # File 'lib/keycloak-admin/client/role_client.rb', line 9
def list
  response = execute_http do
    RestClient::Resource.new(roles_url, @configuration.rest_client_options).get()
  end
  JSON.parse(response).map { |role_as_hash| RoleRepresentation.from_hash(role_as_hash) }
end
     | 
  
 
    
      
  
  
    #role_name_url(name)  ⇒ Object 
  
  
  
  
    
      
39
40
41 
     | 
    
      # File 'lib/keycloak-admin/client/role_client.rb', line 39
def role_name_url(name)
  "#{@realm_client.realm_admin_url}/roles/#{name}"
end
     | 
  
 
    
      
  
  
    #roles_url(id = nil)  ⇒ Object 
  
  
  
  
    
      
31
32
33
34
35
36
37 
     | 
    
      # File 'lib/keycloak-admin/client/role_client.rb', line 31
def roles_url(id=nil)
  if id
    "#{@realm_client.realm_admin_url}/roles/#{id}"
  else
    "#{@realm_client.realm_admin_url}/roles"
  end
end
     | 
  
 
    
      
  
  
    #save(role_representation)  ⇒ Object 
  
  
  
  
    
      
23
24
25
26
27
28
29 
     | 
    
      # File 'lib/keycloak-admin/client/role_client.rb', line 23
def save(role_representation)
  execute_http do
    RestClient::Resource.new(roles_url, @configuration.rest_client_options).post(
      create_payload(role_representation), 
    )
  end
end
     |