authlogic_facebook 1.0.4 → 1.0.5

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/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