Module: OauthDoorman::DomainGroupsAPI

Includes:
Error
Included in:
Api
Defined in:
lib/oauth_doorman/oauth_domain_groups_api.rb

Instance Method Summary collapse

Methods included from Error

#process_error

Instance Method Details

#get_user_group_ids_from_xml(groups_xml) ⇒ Object



27
28
29
# File 'lib/oauth_doorman/oauth_domain_groups_api.rb', line 27

def get_user_group_ids_from_xml(groups_xml)
  return Nokogiri::XML(groups_xml).xpath('//apps:property[@name="groupId"]').map { |x| x['value'] }
end

#get_user_groups(domain, current_user) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/oauth_doorman/oauth_domain_groups_api.rb', line 9

def get_user_groups(domain, current_user)
  result = nil

  begin
    url = config[:groups_info_url] % [domain, current_user]

    http = HTTPClient.new
    result = http.get(url, :header => {config[:groups_info_auth_header_name] => config[:groups_info_auth_header_content] % [access_token]}).body

    process_error(result)
  rescue Exception => exception
    raise exception
  end

  user_groups = get_user_group_ids_from_xml(result)
  return user_groups
end