devise_facebook_connectable 0.2.0 → 0.2.1
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/Rakefile +1 -1
- data/lib/devise_facebook_connectable.rb +2 -13
- data/lib/devise_facebook_connectable/controller_filters.rb +2 -1
- data/lib/devise_facebook_connectable/model.rb +1 -2
- data/lib/devise_facebook_connectable/schema.rb +0 -1
- data/lib/devise_facebook_connectable/strategy.rb +2 -2
- data/lib/devise_facebook_connectable/version.rb +1 -1
- data/lib/devise_facebook_connectable/view_helpers.rb +3 -4
- metadata +4 -4
data/Rakefile
CHANGED
@@ -21,7 +21,7 @@ begin
|
|
21
21
|
spec.files = FileList['[A-Z]*', File.join(*%w[{generators,lib,rails} ** *]).to_s]
|
22
22
|
|
23
23
|
spec.add_dependency 'activesupport', '>= 2.3.0'
|
24
|
-
spec.add_dependency 'devise', '1.0.0'
|
24
|
+
spec.add_dependency 'devise', '>= 1.0.0'
|
25
25
|
spec.add_dependency 'facebooker', '>= 1.0.55'
|
26
26
|
end
|
27
27
|
Jeweler::GemcutterTasks.new
|
@@ -1,17 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
|
3
|
-
|
4
|
-
rescue
|
5
|
-
gem 'devise'
|
6
|
-
require 'devise'
|
7
|
-
end
|
8
|
-
|
9
|
-
begin
|
10
|
-
require 'facebooker'
|
11
|
-
rescue
|
12
|
-
gem 'facebooker'
|
13
|
-
require 'facebooker'
|
14
|
-
end
|
2
|
+
require 'devise'
|
3
|
+
require 'facebooker'
|
15
4
|
|
16
5
|
require 'devise_facebook_connectable/model' # QUESTION: should this really be here? Autoloaded below...
|
17
6
|
require 'devise_facebook_connectable/strategy'
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'facebooker/session'
|
3
|
+
require 'action_controller'
|
3
4
|
|
4
5
|
module Devise #:nodoc:
|
5
6
|
module FacebookConnectable #:nodoc:
|
@@ -15,7 +16,6 @@ module Devise #:nodoc:
|
|
15
16
|
#
|
16
17
|
# * http://github.com/mmangino/facebooker/blob/master/lib/facebooker/rails/controller.rb
|
17
18
|
#
|
18
|
-
|
19
19
|
def self.included(base) #:nodoc:
|
20
20
|
base.class_eval do
|
21
21
|
before_filter :expired_session_hack
|
@@ -30,6 +30,7 @@ module Devise #:nodoc:
|
|
30
30
|
#
|
31
31
|
def expired_session_hack
|
32
32
|
clear_facebook_session_information
|
33
|
+
Facebooker::Session.current = nil
|
33
34
|
rescue
|
34
35
|
if RUBY_VERSION >= '1.9' && RAILS_GEM_VERSION == '2.3.4'
|
35
36
|
# Rails 2.3.4 on Ruby 1.9 issue. Should not happen in Rails 2.3.5+
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'devise/models'
|
3
3
|
require 'facebooker/session'
|
4
|
-
require 'devise_facebook_connectable/strategy'
|
5
4
|
|
6
5
|
module Devise #:nodoc:
|
7
6
|
# module FacebookConnectable #:nodoc:
|
@@ -181,7 +180,7 @@ module Devise #:nodoc:
|
|
181
180
|
|
182
181
|
# Authenticate a user based on Facebook UID.
|
183
182
|
#
|
184
|
-
def
|
183
|
+
def authenticate_with_facebook_connect(attributes = {})
|
185
184
|
if attributes[:uid].present?
|
186
185
|
self.find_for_facebook_connect(attributes[:uid])
|
187
186
|
end
|
@@ -14,7 +14,7 @@ module Devise #:nodoc:
|
|
14
14
|
# Without a Facebook session authentication cannot proceed.
|
15
15
|
#
|
16
16
|
def valid?
|
17
|
-
|
17
|
+
mapping.to.respond_to?('authenticate_with_facebook_connect') && ::Facebooker::Session.current.present?
|
18
18
|
end
|
19
19
|
|
20
20
|
# Authenticate user with Facebook Connect.
|
@@ -25,7 +25,7 @@ module Devise #:nodoc:
|
|
25
25
|
facebook_session = ::Facebooker::Session.current # session[:facebook_session]
|
26
26
|
facebook_user = facebook_session.user
|
27
27
|
|
28
|
-
user = klass.
|
28
|
+
user = klass.authenticate_with_facebook_connect(:uid => facebook_user.uid)
|
29
29
|
|
30
30
|
if user.present?
|
31
31
|
success!(user)
|
@@ -121,7 +121,7 @@ module Devise #:nodoc:
|
|
121
121
|
|
122
122
|
protected
|
123
123
|
|
124
|
-
# Auto-detect Devise scope using +
|
124
|
+
# Auto-detect Devise scope using +Devise.default_scope+.
|
125
125
|
# Used to make the link-helpers smart if - like in most cases -
|
126
126
|
# only one devise scope will be used, e.g. "user" or "account".
|
127
127
|
#
|
@@ -135,8 +135,7 @@ module Devise #:nodoc:
|
|
135
135
|
"Use: facebook_*_link(:some_scope), or facebook_*_link(:scope => :some_scope)")
|
136
136
|
end
|
137
137
|
|
138
|
-
scope = args.detect { |arg| arg.is_a?(Symbol) } || options[:scope]
|
139
|
-
scope ||= ::Warden::Manager.default_scope
|
138
|
+
scope = args.detect { |arg| arg.is_a?(Symbol) } || options[:scope] || ::Devise.default_scope
|
140
139
|
mapping = ::Devise.mappings[scope]
|
141
140
|
|
142
141
|
if mapping.for.include?(:facebook_connectable)
|
@@ -165,7 +164,7 @@ module Devise #:nodoc:
|
|
165
164
|
:id => (sign_out_form ? 'fb_connect_sign_out_form' : 'fb_connect_sign_in_form'),
|
166
165
|
:style => 'display:none;'
|
167
166
|
)
|
168
|
-
scope = ::Devise::Mapping.find_by_path(request.path).
|
167
|
+
scope = ::Devise::Mapping.find_by_path(request.path).name rescue scope
|
169
168
|
url = sign_out_form ? destroy_session_path(scope) : session_path(scope)
|
170
169
|
|
171
170
|
form_for(scope, :url => url, :html => options) { |f| }
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 1
|
9
|
+
version: 0.2.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Jonas Grimfelt
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-19 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -36,7 +36,7 @@ dependencies:
|
|
36
36
|
prerelease: false
|
37
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
segments:
|
42
42
|
- 1
|