rpx_now 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +14 -8
 - data/VERSION +1 -1
 - data/lib/rpx_now.rb +5 -2
 - data/rpx_now.gemspec +2 -2
 - data/spec/rpx_now_spec.rb +10 -3
 - metadata +2 -2
 
    
        data/README.markdown
    CHANGED
    
    | 
         @@ -35,16 +35,18 @@ View 
     | 
|
| 
       35 
35 
     | 
    
         
             
                OR
         
     | 
| 
       36 
36 
     | 
    
         
             
                <%=RPXNow.popup_code('Login here...', 'mywebsite', rpx_token_sessions_url, options)%>
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
            Options
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
            ###Options
         
     | 
| 
      
 39 
     | 
    
         
            +
            `:language=>'en'` rpx tries to detect the users language, but you may overwrite it [possible languages](https://rpxnow.com/docs#sign-in_localization)  
         
     | 
| 
      
 40 
     | 
    
         
            +
            `:default_provider=>'google'` [possible default providers](https://rpxnow.com/docs#sign-in_default_provider)  
         
     | 
| 
      
 41 
     | 
    
         
            +
            `:flags=>'show_provider_list'` [possible flags](https://rpxnow.com/docs#sign-in_interface)  
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            ###Unobtrusive / JS-last
         
     | 
| 
      
 44 
     | 
    
         
            +
            `popup_code` can also be called with `:unobtrusive=>true` ( --> just link without javascript include).  
         
     | 
| 
      
 45 
     | 
    
         
            +
            To still get the normal popup add `RPXNow.popup_source('mywebsite',rpx_token_sessions_url, [options])`.  
         
     | 
| 
       44 
46 
     | 
    
         
             
            Options like :language / :flags should be given for both.
         
     | 
| 
       45 
47 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 48 
     | 
    
         
            +
            environment.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
            --------------
         
     | 
| 
       48 
50 
     | 
    
         
             
                Rails::Initializer.run do |config|
         
     | 
| 
       49 
51 
     | 
    
         
             
                  config.gem "rpx_now"
         
     | 
| 
       50 
52 
     | 
    
         
             
                  ...
         
     | 
| 
         @@ -67,6 +69,10 @@ Controller 
     | 
|
| 
       67 
69 
     | 
    
         
             
                  redirect_to '/'
         
     | 
| 
       68 
70 
     | 
    
         
             
                end
         
     | 
| 
       69 
71 
     | 
    
         | 
| 
      
 72 
     | 
    
         
            +
                # getting additional fields (these fields are rarely filled)
         
     | 
| 
      
 73 
     | 
    
         
            +
                # all possibilities: https://rpxnow.com/docs#profile_data
         
     | 
| 
      
 74 
     | 
    
         
            +
                data = RPXNow.user_data(params[:token], :additional => [:gender, :birthday, :photo, :providerName, ...])
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
       70 
76 
     | 
    
         
             
                # raw request processing
         
     | 
| 
       71 
77 
     | 
    
         
             
                RPXNow.user_data(params[:token]){|raw| {:email=>raw['profile']['verifiedEmail']} }
         
     | 
| 
       72 
78 
     | 
    
         | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.6. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.6.6
         
     | 
    
        data/lib/rpx_now.rb
    CHANGED
    
    | 
         @@ -23,7 +23,7 @@ module RPXNow 
     | 
|
| 
       23 
23 
     | 
    
         
             
              def user_data(token, options={})
         
     | 
| 
       24 
24 
     | 
    
         
             
                begin
         
     | 
| 
       25 
25 
     | 
    
         
             
                  data = Api.call("auth_info", options.merge(:token => token))
         
     | 
| 
       26 
     | 
    
         
            -
                  if block_given? then yield(data) else parse_user_data(data) end
         
     | 
| 
      
 26 
     | 
    
         
            +
                  if block_given? then yield(data) else parse_user_data(data, options) end
         
     | 
| 
       27 
27 
     | 
    
         
             
                rescue ServerError
         
     | 
| 
       28 
28 
     | 
    
         
             
                  return nil if $!.to_s=~/Data not found/
         
     | 
| 
       29 
29 
     | 
    
         
             
                  raise
         
     | 
| 
         @@ -118,7 +118,7 @@ module RPXNow 
     | 
|
| 
       118 
118 
     | 
    
         
             
                }.map{|k,v| "#{k}=#{v}" if v}.compact.join('&')
         
     | 
| 
       119 
119 
     | 
    
         
             
              end
         
     | 
| 
       120 
120 
     | 
    
         | 
| 
       121 
     | 
    
         
            -
              def self.parse_user_data(response)
         
     | 
| 
      
 121 
     | 
    
         
            +
              def self.parse_user_data(response, options)
         
     | 
| 
       122 
122 
     | 
    
         
             
                user_data = response['profile']
         
     | 
| 
       123 
123 
     | 
    
         
             
                data = {}
         
     | 
| 
       124 
124 
     | 
    
         
             
                data[:identifier] = user_data['identifier']
         
     | 
| 
         @@ -126,6 +126,9 @@ module RPXNow 
     | 
|
| 
       126 
126 
     | 
    
         
             
                data[:username] = user_data['preferredUsername'] || data[:email].to_s.sub(/@.*/,'')
         
     | 
| 
       127 
127 
     | 
    
         
             
                data[:name] = user_data['displayName'] || data[:username]
         
     | 
| 
       128 
128 
     | 
    
         
             
                data[:id] = user_data['primaryKey'] unless user_data['primaryKey'].to_s.empty?
         
     | 
| 
      
 129 
     | 
    
         
            +
                (options[:additional] || []).each do |key|
         
     | 
| 
      
 130 
     | 
    
         
            +
                  data[key] = user_data[key.to_s]
         
     | 
| 
      
 131 
     | 
    
         
            +
                end
         
     | 
| 
       129 
132 
     | 
    
         
             
                data
         
     | 
| 
       130 
133 
     | 
    
         
             
              end
         
     | 
| 
       131 
134 
     | 
    
         | 
    
        data/rpx_now.gemspec
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{rpx_now}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.6. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.6.6"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Michael Grosser"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2009-10- 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2009-10-12}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.email = %q{grosser.michael@gmail.com}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
| 
       15 
15 
     | 
    
         
             
                "README.markdown"
         
     | 
    
        data/spec/rpx_now_spec.rb
    CHANGED
    
    | 
         @@ -224,6 +224,13 @@ describe RPXNow do 
     | 
|
| 
       224 
224 
     | 
    
         
             
                  RPXNow::Api.should_receive(:request).and_return response
         
     | 
| 
       225 
225 
     | 
    
         
             
                  RPXNow.user_data('')[:id].should == 'dbalatero'
         
     | 
| 
       226 
226 
     | 
    
         
             
                end
         
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
                it "can fetch additional fields" do
         
     | 
| 
      
 229 
     | 
    
         
            +
                  @response_body['profile']['xxxy'] = "test"
         
     | 
| 
      
 230 
     | 
    
         
            +
                  response = fake_response(@response_body)
         
     | 
| 
      
 231 
     | 
    
         
            +
                  RPXNow::Api.should_receive(:request).and_return response
         
     | 
| 
      
 232 
     | 
    
         
            +
                  RPXNow.user_data('', :additional => [:xxxy])[:xxxy].should == 'test'
         
     | 
| 
      
 233 
     | 
    
         
            +
                end
         
     | 
| 
       227 
234 
     | 
    
         | 
| 
       228 
235 
     | 
    
         
             
                it "hands JSON response to supplied block" do
         
     | 
| 
       229 
236 
     | 
    
         
             
                  RPXNow::Api.should_receive(:request).and_return @response
         
     | 
| 
         @@ -273,13 +280,13 @@ describe RPXNow do 
     | 
|
| 
       273 
280 
     | 
    
         
             
                end
         
     | 
| 
       274 
281 
     | 
    
         
             
              end
         
     | 
| 
       275 
282 
     | 
    
         | 
| 
       276 
     | 
    
         
            -
              describe : 
     | 
| 
      
 283 
     | 
    
         
            +
              describe :parse_user_data do
         
     | 
| 
       277 
284 
     | 
    
         
             
                it "reads secondary names" do
         
     | 
| 
       278 
     | 
    
         
            -
                  RPXNow.send(:parse_user_data,{'profile'=>{'preferredUsername'=>'1'}})[:name].should == '1'
         
     | 
| 
      
 285 
     | 
    
         
            +
                  RPXNow.send(:parse_user_data,{'profile'=>{'preferredUsername'=>'1'}}, {})[:name].should == '1'
         
     | 
| 
       279 
286 
     | 
    
         
             
                end
         
     | 
| 
       280 
287 
     | 
    
         | 
| 
       281 
288 
     | 
    
         
             
                it "parses email when no name is found" do
         
     | 
| 
       282 
     | 
    
         
            -
                  RPXNow.send(:parse_user_data,{'profile'=>{'email'=>'1@xxx.com'}})[:name].should == '1'
         
     | 
| 
      
 289 
     | 
    
         
            +
                  RPXNow.send(:parse_user_data,{'profile'=>{'email'=>'1@xxx.com'}}, {})[:name].should == '1'
         
     | 
| 
       283 
290 
     | 
    
         
             
                end
         
     | 
| 
       284 
291 
     | 
    
         
             
              end
         
     | 
| 
       285 
292 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rpx_now
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.6
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Michael Grosser
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2009-10- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2009-10-12 00:00:00 +02:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |