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
-
#api_key ⇒ Object
Returns the value of attribute api_key.
-
#api_version ⇒ Object
Returns the value of attribute api_version.
Instance Method Summary collapse
- #all_mappings(options = {}) ⇒ Object
- #contacts(identifier, options = {}) ⇒ Object (also: #get_contacts)
-
#embed_code(subdomain, url, options = {}) ⇒ Object
iframe for rpx login options: :width, :height, :language, :flags.
- #extract_version(options) ⇒ Object
-
#map(identifier, primary_key, options = {}) ⇒ Object
maps an identifier to an primary-key (e.g. user.id).
-
#mappings(primary_key, options = {}) ⇒ Object
returns an array of identifiers which are mapped to one of your primary-keys (e.g. user.id).
-
#popup_code(text, subdomain, url, options = {}) ⇒ Object
popup window for rpx login options: :language / :flags / :unobtrusive.
-
#popup_source(subdomain, url, options = {}) ⇒ Object
javascript for popup only needed in combination with popup_code(x,y,z, :unobtrusive => true).
-
#set_status(identifier, status, options = {}) ⇒ Object
set the users status.
-
#unmap(identifier, primary_key, options = {}) ⇒ Object
un-maps an identifier to an primary-key (e.g. user.id).
-
#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.
Instance Attribute Details
#api_key ⇒ Object
Returns the value of attribute api_key.
7 8 9 |
# File 'lib/rpx_now.rb', line 7 def api_key @api_key end |
#api_version ⇒ Object
Returns the value of attribute api_version.
8 9 10 |
# File 'lib/rpx_now.rb', line 8 def api_version @api_version end |
Instance Method Details
#all_mappings(options = {}) ⇒ Object
51 52 53 |
# File 'lib/rpx_now.rb', line 51 def all_mappings(={}) Api.call("all_mappings", )['mappings'] end |
#contacts(identifier, options = {}) ⇒ Object Also known as: get_contacts
55 56 57 58 |
# File 'lib/rpx_now.rb', line 55 def contacts(identifier, ={}) data = Api.call("get_contacts", .merge(:identifier => identifier)) RPXNow::ContactsCollection.new(data['response']) end |
#embed_code(subdomain, url, options = {}) ⇒ Object
iframe for rpx login options: :width, :height, :language, :flags
63 64 65 66 67 68 69 70 |
# File 'lib/rpx_now.rb', line 63 def (subdomain, url, ={}) = {:width => '400', :height => '240'}.merge() <<-EOF <iframe src="#{Api.host(subdomain)}/openid/embed?#{(url, )}" scrolling="no" frameBorder="no" style="width:#{[:width]}px;height:#{[:height]}px;"> </iframe> EOF end |
#extract_version(options) ⇒ Object
100 101 102 |
# File 'lib/rpx_now.rb', line 100 def extract_version() [:api_version] || api_version end |
#map(identifier, primary_key, options = {}) ⇒ Object
maps an identifier to an primary-key (e.g. user.id)
37 38 39 |
# File 'lib/rpx_now.rb', line 37 def map(identifier, primary_key, ={}) Api.call("map", .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)
47 48 49 |
# File 'lib/rpx_now.rb', line 47 def mappings(primary_key, ={}) Api.call("mappings", .merge(:primaryKey => primary_key))['identifiers'] end |
#popup_code(text, subdomain, url, options = {}) ⇒ Object
popup window for rpx login options: :language / :flags / :unobtrusive
74 75 76 77 78 79 80 |
# File 'lib/rpx_now.rb', line 74 def popup_code(text, subdomain, url, = {}) if [:unobtrusive] unobtrusive_popup_code(text, subdomain, url, ) else obtrusive_popup_code(text, subdomain, url, ) end end |
#popup_source(subdomain, url, options = {}) ⇒ Object
javascript for popup only needed in combination with popup_code(x,y,z, :unobtrusive => true)
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/rpx_now.rb', line 84 def popup_source(subdomain, url, ={}) <<-EOF <script src="#{Api.host}/openid/v#{extract_version()}/widget" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ RPXNOW.token_url = '#{url}'; RPXNOW.realm = '#{subdomain}'; RPXNOW.overlay = true; #{ "RPXNOW.language_preference = '#{[:language]}';" if [:language] } #{ "RPXNOW.default_provider = '#{[:default_provider]}';" if [:default_provider] } #{ "RPXNOW.flags = '#{[:flags]}';" if [:flags] } //]]> </script> EOF end |
#set_status(identifier, status, options = {}) ⇒ Object
set the users status
28 29 30 31 32 33 34 |
# File 'lib/rpx_now.rb', line 28 def set_status(identifier, status, ={}) = .merge(:identifier => identifier, :status => status) data = Api.call("set_status", ) 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)
42 43 44 |
# File 'lib/rpx_now.rb', line 42 def unmap(identifier, primary_key, ={}) Api.call("unmap", .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
17 18 19 20 21 22 23 24 25 |
# File 'lib/rpx_now.rb', line 17 def user_data(token, ={}) begin data = Api.call("auth_info", .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 |