Module: RPXNow

Extended by:
RPXNow
Included in:
RPXNow
Defined in:
lib/rpx_now.rb,
lib/rpx_now/api.rb,
lib/rpx_now/user_proxy.rb,
lib/rpx_now/user_integration.rb,
lib/rpx_now/contacts_collection.rb

Defined Under Namespace

Modules: UserIntegration Classes: Api, ApiError, ContactsCollection, ServerError, ServiceUnavailableError, UserProxy

Constant Summary collapse

VERSION =
File.read( File.join(File.dirname(__FILE__),'..','VERSION') ).strip

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



13
14
15
# File 'lib/rpx_now.rb', line 13

def api_key
  @api_key
end

#api_versionObject

Returns the value of attribute api_version.



14
15
16
# File 'lib/rpx_now.rb', line 14

def api_version
  @api_version
end

Instance Method Details

#all_mappings(options = {}) ⇒ Object



57
58
59
# File 'lib/rpx_now.rb', line 57

def all_mappings(options={})
  Api.call("all_mappings", options)['mappings']
end

#contacts(identifier, options = {}) ⇒ Object Also known as: get_contacts



61
62
63
64
# File 'lib/rpx_now.rb', line 61

def contacts(identifier, options={})
  data = Api.call("get_contacts", options.merge(:identifier => identifier))
  RPXNow::ContactsCollection.new(data['response'])
end

#embed_code(subdomain, url, options = {}) ⇒ Object



67
68
69
70
71
72
73
74
# File 'lib/rpx_now.rb', line 67

def embed_code(subdomain,url,options={})
  options = {:width => '400', :height => '240', :language => 'en'}.merge(options)
  <<-EOF
    <iframe src="https://#{subdomain}.#{Api::HOST}/openid/embed?token_url=#{url}&language_preference=#{options[:language]}"
      scrolling="no" frameBorder="no" style="width:#{options[:width]}px;height:#{options[:height]}px;">
    </iframe>
  EOF
end

#extract_version!(options) ⇒ Object



86
87
88
# File 'lib/rpx_now.rb', line 86

def extract_version!(options)
  options.delete(:api_version) || api_version
end

#map(identifier, primary_key, options = {}) ⇒ Object

maps an identifier to an primary-key (e.g. user.id)



43
44
45
# File 'lib/rpx_now.rb', line 43

def map(identifier, primary_key, options={})
  Api.call("map", options.merge(:identifier => identifier, :primaryKey => primary_key))
end

#mappings(primary_key, options = {}) ⇒ Object

returns an array of identifiers which are mapped to one of your primary-keys (e.g. user.id)



53
54
55
# File 'lib/rpx_now.rb', line 53

def mappings(primary_key, options={})
  Api.call("mappings", options.merge(:primaryKey => primary_key))['identifiers']
end


76
77
78
79
80
81
82
83
84
# File 'lib/rpx_now.rb', line 76

def popup_code(text, subdomain, url, options = {})
  options = options.dup
  options[:language] ||= 'en'
  if options[:unobtrusive]
    unobtrusive_popup_code(text, subdomain, url, options)
  else
    obtrusive_popup_code(text, subdomain, url, options)
  end
end

#set_status(identifier, status, options = {}) ⇒ Object

set the users status



34
35
36
37
38
39
40
# File 'lib/rpx_now.rb', line 34

def set_status(identifier, status, options={})
  options = options.merge(:identifier => identifier, :status => status)
  data = Api.call("set_status", options)
rescue ServerError
  return nil if $!.to_s=~/Data not found/
  raise
end

#unmap(identifier, primary_key, options = {}) ⇒ Object

un-maps an identifier to an primary-key (e.g. user.id)



48
49
50
# File 'lib/rpx_now.rb', line 48

def unmap(identifier, primary_key, options={})
  Api.call("unmap", options.merge(:identifier => identifier, :primaryKey => primary_key))
end

#user_data(token, options = {}) ⇒ Object

retrieve the users data

  • cleaned Hash

  • complete/unclean response when block was given user_data{|response| …; return hash }

  • nil when token was invalid / data was not found



23
24
25
26
27
28
29
30
31
# File 'lib/rpx_now.rb', line 23

def user_data(token, options={})
  begin
    data = Api.call("auth_info", options.merge(:token => token))
    if block_given? then yield(data) else parse_user_data(data) end
  rescue ServerError
    return nil if $!.to_s=~/Data not found/
    raise
  end
end