signet-rails 0.0.7 → 0.0.8
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/lib/signet/rails/builder.rb +6 -3
- data/lib/signet/rails/handler.rb +9 -1
- data/lib/signet/rails/version.rb +1 -1
- data/tags +37 -0
- metadata +4 -3
data/lib/signet/rails/builder.rb
CHANGED
@@ -77,7 +77,7 @@ module Signet
|
|
77
77
|
# In this flow we might not yet have established a session... need to handle two
|
78
78
|
# flows, one for login, one not
|
79
79
|
# when on a login auth_callback, how do we get the persistence object from the JWT?
|
80
|
-
combined_options[:extract_by_oauth_id] ||= lambda do |
|
80
|
+
combined_options[:extract_by_oauth_id] ||= lambda do |env, client, id|
|
81
81
|
oac = nil
|
82
82
|
begin
|
83
83
|
u = nil
|
@@ -105,9 +105,12 @@ module Signet
|
|
105
105
|
end
|
106
106
|
|
107
107
|
combined_options[:persistence_wrapper] ||= :active_record
|
108
|
+
|
109
|
+
# define a lambda that returns a lambda that wraps our OAC lambda return object
|
110
|
+
# in a persistance object
|
108
111
|
persistence_wrapper = lambda do |meth|
|
109
|
-
lambda do |
|
110
|
-
y = meth.call
|
112
|
+
lambda do |env, client, *args|
|
113
|
+
y = meth.call env, client, *args
|
111
114
|
klass_str = combined_options[:persistence_wrapper].to_s
|
112
115
|
require "signet/rails/wrappers/#{klass_str}"
|
113
116
|
w = "Signet::Rails::Wrappers::#{klass_str.camelize}".constantize.new y, client
|
data/lib/signet/rails/handler.rb
CHANGED
@@ -50,7 +50,7 @@ module Signet
|
|
50
50
|
client.fetch_access_token!
|
51
51
|
|
52
52
|
if options[:handle_auth_callback]
|
53
|
-
obj = options[:extract_by_oauth_id].call client.decoded_id_token['sub']
|
53
|
+
obj = options[:extract_by_oauth_id].call env, client, client.decoded_id_token['sub']
|
54
54
|
persist_token_state obj, client
|
55
55
|
obj.persist
|
56
56
|
env["signet.#{options[:name]}.persistence_obj"] = obj.obj
|
@@ -71,12 +71,20 @@ module Signet
|
|
71
71
|
store_hash = wrapper.obj.method("#{options[:storage_attr]}=").call({})
|
72
72
|
end
|
73
73
|
|
74
|
+
# not nice... the wrapper.obj.changed? will only be triggered if we clone the hash
|
75
|
+
# Is this a bug? https://github.com/rails/rails/issues/11968
|
76
|
+
# TODO: check if there is a better solution
|
77
|
+
store_hash = store_hash.clone
|
78
|
+
|
74
79
|
for i in options[:persist_attrs]
|
75
80
|
if client.respond_to?(i)
|
76
81
|
# only transfer the value if it is non-nil
|
77
82
|
store_hash[i.to_s] = client.method(i).call unless client.method(i).call.nil?
|
78
83
|
end
|
79
84
|
end
|
85
|
+
|
86
|
+
wrapper.obj.method("#{options[:storage_attr]}=").call(store_hash)
|
87
|
+
|
80
88
|
end
|
81
89
|
|
82
90
|
def load_token_state wrapper, client
|
data/lib/signet/rails/version.rb
CHANGED
data/tags
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
2
|
+
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
3
|
+
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
|
4
|
+
!_TAG_PROGRAM_NAME Exuberant Ctags //
|
5
|
+
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
|
6
|
+
!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
|
7
|
+
ActiveRecord lib/signet/rails/wrappers/active_record.rb /^ class ActiveRecord$/;" c class:Signet.Rails.Wrappers
|
8
|
+
Builder lib/signet/rails/builder.rb /^ class Builder < ::Rack::Builder$/;" c class:Signet.Rails
|
9
|
+
Factory lib/signet/rails/factory.rb /^ class Factory$/;" c class:Signet.Rails
|
10
|
+
Handler lib/signet/rails/handler.rb /^ class Handler$/;" c class:Signet.Rails
|
11
|
+
Rails lib/signet/rails.rb /^ module Rails$/;" m class:Signet
|
12
|
+
Rails lib/signet/rails/builder.rb /^ module Rails$/;" m class:Signet
|
13
|
+
Rails lib/signet/rails/factory.rb /^ module Rails$/;" m class:Signet
|
14
|
+
Rails lib/signet/rails/handler.rb /^ module Rails$/;" m class:Signet
|
15
|
+
Rails lib/signet/rails/version.rb /^ module Rails$/;" m class:Signet
|
16
|
+
Rails lib/signet/rails/wrappers/active_record.rb /^ module Rails$/;" m class:Signet
|
17
|
+
Signet lib/signet/rails.rb /^module Signet$/;" m
|
18
|
+
Signet lib/signet/rails/builder.rb /^module Signet$/;" m
|
19
|
+
Signet lib/signet/rails/factory.rb /^module Signet$/;" m
|
20
|
+
Signet lib/signet/rails/handler.rb /^module Signet$/;" m
|
21
|
+
Signet lib/signet/rails/version.rb /^module Signet$/;" m
|
22
|
+
Signet lib/signet/rails/wrappers/active_record.rb /^module Signet$/;" m
|
23
|
+
Wrappers lib/signet/rails/wrappers/active_record.rb /^ module Wrappers$/;" m class:Signet.Rails
|
24
|
+
auth_options lib/signet/rails/handler.rb /^ def auth_options env$/;" f class:Signet.Rails.Handler
|
25
|
+
call lib/signet/rails/builder.rb /^ def call(env)$/;" f class:Signet.Rails.Builder
|
26
|
+
call lib/signet/rails/handler.rb /^ def call(env)$/;" f class:Signet.Rails.Handler
|
27
|
+
create_from_env lib/signet/rails/factory.rb /^ def self.create_from_env name, env, opt_hsh = {load_token: true}$/;" F class:Signet.Rails.Factory
|
28
|
+
handle lib/signet/rails/handler.rb /^ def handle(env)$/;" f class:Signet.Rails.Handler
|
29
|
+
initialize lib/signet/rails/builder.rb /^ def initialize(app, &block)$/;" f class:Signet.Rails.Builder
|
30
|
+
initialize lib/signet/rails/handler.rb /^ def initialize(app, opts = {}, auth_opts = {}, &block)$/;" f class:Signet.Rails.Handler
|
31
|
+
initialize lib/signet/rails/wrappers/active_record.rb /^ def initialize obj, client$/;" f class:Signet.Rails.Wrappers.ActiveRecord
|
32
|
+
load_token_state lib/signet/rails/handler.rb /^ def load_token_state wrapper, client$/;" f class:Signet.Rails.Handler
|
33
|
+
options lib/signet/rails/handler.rb /^ def options$/;" f class:Signet.Rails.Handler
|
34
|
+
persist lib/signet/rails/wrappers/active_record.rb /^ def persist$/;" f class:Signet.Rails.Wrappers.ActiveRecord
|
35
|
+
persist_token_state lib/signet/rails/handler.rb /^ def persist_token_state wrapper, client$/;" f class:Signet.Rails.Handler
|
36
|
+
provider lib/signet/rails/builder.rb /^ def provider(opts = {}, &block)$/;" f class:Signet.Rails.Builder
|
37
|
+
set_default_options lib/signet/rails/builder.rb /^ def self.set_default_options opts = {}$/;" F class:Signet.Rails.Builder
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: signet-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -94,6 +94,7 @@ files:
|
|
94
94
|
- lib/signet/rails/version.rb
|
95
95
|
- lib/signet/rails/wrappers/active_record.rb
|
96
96
|
- signet-rails.gemspec
|
97
|
+
- tags
|
97
98
|
homepage: https://github.com/myitcv/signet-rails
|
98
99
|
licenses:
|
99
100
|
- MIT
|
@@ -115,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
116
|
version: '0'
|
116
117
|
requirements: []
|
117
118
|
rubyforge_project:
|
118
|
-
rubygems_version: 1.8.
|
119
|
+
rubygems_version: 1.8.23
|
119
120
|
signing_key:
|
120
121
|
specification_version: 3
|
121
122
|
summary: Incorporate Signet goodness into Rails
|