authlogic_facebook 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.4
1
+ 1.0.5
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{authlogic_facebook}
8
- s.version = "1.0.4"
8
+ s.version = "1.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Rusty Burchfield"]
12
- s.date = %q{2009-12-10}
12
+ s.date = %q{2010-02-23}
13
13
  s.description = %q{Authlogic plugin to support Facebook without Facebooker. A small unobtrusive gem (mini_fb) is used instead.}
14
14
  s.email = %q{GICodeWarrior@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -81,6 +81,10 @@ module AuthlogicFacebook
81
81
  !self.class.facebook_secret_key.blank?
82
82
  end
83
83
 
84
+ def redirect_to_facebook
85
+ controller.redirect_to(facebook_login_url)
86
+ end
87
+
84
88
  private
85
89
  def validate_by_facebook
86
90
  if facebook_callback?
@@ -99,7 +103,7 @@ module AuthlogicFacebook
99
103
  return self.attempted_record.save(false)
100
104
  end
101
105
  else
102
- controller.redirect_to(facebook_login_url)
106
+ redirect_to_facebook
103
107
  return false
104
108
  end
105
109
  end
@@ -116,13 +120,13 @@ module AuthlogicFacebook
116
120
  self.class.facebook_secret_key,
117
121
  'Users.getLoggedInUser', params)
118
122
  break
119
- rescue Errno::ECONNRESET
120
- # Try again
123
+ rescue Errno::ECONNRESET, EOFError => e
124
+ exception = e
121
125
  end
122
126
  end
123
127
 
124
128
  if !uid
125
- raise 'Unable to reach Facebook after 10 tries.'
129
+ raise exception
126
130
  end
127
131
 
128
132
  @facebook_session = {'uid' => uid, 'session_key' => session_key}
@@ -158,17 +162,22 @@ module AuthlogicFacebook
158
162
  self.class.facebook_uid_field
159
163
  end
160
164
 
165
+ def facebook_login_params
166
+ {'api_key' => self.class.facebook_api_key,
167
+ 'req_perms' => self.class.facebook_permissions.join(','),
168
+ 'next' => controller.request.url,
169
+ 'v' => '1.0',
170
+ 'connect_display' => 'popup',
171
+ 'fbconnect' => 'true',
172
+ 'return_session' => 'true'}
173
+ end
174
+
161
175
  def facebook_login_url
162
- params = {'api_key' => self.class.facebook_api_key,
163
- 'req_perms' => self.class.facebook_permissions.join(','),
164
- 'next' => controller.request.url,
165
- 'v' => '1.0',
166
- 'connect_display' => 'popup',
167
- 'fbconnect' => 'true',
168
- 'return_session' => 'true'}
169
-
170
- url = 'http://www.facebook.com/login.php?'
171
- url << params.map{|k,v| "#{k}=#{CGI.escape(v)}"}.join('&')
176
+ params = facebook_login_params.map do |key, value|
177
+ "#{CGI.escape(key)}=#{CGI.escape(value)}"
178
+ end
179
+
180
+ "http://www.facebook.com/login.php?#{params.join('&')}"
172
181
  end
173
182
  end
174
183
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authlogic_facebook
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rusty Burchfield
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-10 00:00:00 -08:00
12
+ date: 2010-02-23 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency