Class: UserManagementApi::Client

Constant Summary collapse

API_VERSION =
'v1'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from UserManagementApi::ClientMethods::URLs

#admin_pending_registration_groups_url, #admin_pending_registration_url, #admin_url, #change_password_url, #create_account_url, #create_class_group_url, #create_registration_url, #edit_registration_url, #forgot_password_url, #join_class_group_url, #renew_registration_url

Methods included from UserManagementApi::ClientMethods::RegistrationGroups

#enrolled_registration_groups, #owned_registration_groups, #pending_registration_groups, #registration_group, #registration_group_enrollees, #registration_group_remove_enrollee

Methods included from UserManagementApi::ClientMethods::Registrations

#search_registrations, #set_registration_custom_attributes, #user_registration, #user_registrations

Methods included from UserManagementApi::ClientMethods::Users

#create_user, #update_user, #user, #users_by_email

Methods included from UserManagementApi::ClientMethods::AnswerbaseSessionTokens

#answerbase_session_token, #create_answerbase_session_token

Constructor Details

#initialize(uri = nil, token = nil) ⇒ Client

Returns a new instance of Client.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/user_management_api/client.rb', line 13

def initialize(uri = nil, token = nil)
  uri = uri || UserManagementApi::Config.base_uri
  token = token || UserManagementApi::Config.access_token

  if uri.nil? || token.nil?
    raise UserManagementApi::ClientConfigurationError, "You must either pass a URI and token or configure UserManagementApi::Config"
  end

  base_uri = URI(uri)

  unless ['', '/', nil].include? base_uri.path
    raise UserManagementApi::ClientConfigurationError, "uri should not contain path information"
  end

  path_prefix = "/api/#{API_VERSION}"

  base_uri.path = path_prefix

  @conn = UserManagementApi::ConnectionManager.get_connection(base_uri.to_s, token)
  @token = token
end

Instance Attribute Details

#connObject (readonly)

Returns the value of attribute conn.



11
12
13
# File 'lib/user_management_api/client.rb', line 11

def conn
  @conn
end

Instance Method Details

#base_api_uriObject



35
36
37
# File 'lib/user_management_api/client.rb', line 35

def base_api_uri
  conn.url_prefix.to_s
end

#base_uriObject



39
40
41
42
43
# File 'lib/user_management_api/client.rb', line 39

def base_uri
  uri = URI(base_api_uri)
  uri.path = ''
  uri.to_s
end

#tokenObject



45
46
47
# File 'lib/user_management_api/client.rb', line 45

def token
  @token
end