devise_facebook_connectable 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|