rfacebook 0.6.3 → 0.6.4

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.
@@ -5,24 +5,24 @@ module RFacebook
5
5
  module RailsControllerExtensions
6
6
 
7
7
 
8
- # SECTION: Exceptions
8
+ # SECTION: StandardErrors
9
9
 
10
- class APIKeyNeededException < Exception; end
11
- class APISecretNeededException < Exception; end
12
- class APIFinisherNeededException < Exception; end
10
+ class APIKeyNeededStandardError < StandardError; end
11
+ class APISecretNeededStandardError < StandardError; end
12
+ class APIFinisherNeededStandardError < StandardError; end
13
13
 
14
14
  # SECTION: Template Methods (must be implemented by concrete subclass)
15
15
 
16
16
  def facebook_api_key
17
- raise APIKeyNeededException
17
+ raise APIKeyNeededStandardError
18
18
  end
19
19
 
20
20
  def facebook_api_secret
21
- raise APISecretNeededException
21
+ raise APISecretNeededStandardError
22
22
  end
23
23
 
24
24
  def finish_facebook_login
25
- raise APIFinisherNeededException
25
+ raise APIFinisherNeededStandardError
26
26
  end
27
27
 
28
28
 
@@ -31,7 +31,7 @@ module RFacebook
31
31
 
32
32
  def fbparams
33
33
 
34
- @fbparams ||= {};
34
+ params = (params || {}).dup
35
35
 
36
36
  # try to get fbparams from the params hash
37
37
  if (@fbparams.length <= 0)
@@ -81,7 +81,9 @@ module RFacebook
81
81
 
82
82
  def facebook_redirect_to(url)
83
83
  if in_facebook_canvas?
84
- render :text => "<fb:redirect url=\"#{url}\" />"
84
+ render :text => "<fb:redirect url=\"#{url}\" />"
85
+ elsif url =~ /^https?:\/\/([^\/]*\.)?facebook\.com(:\d+)?/i
86
+ render :text => "<script type=\"text/javascript\">\ntop.location.href = \"#{url}\";\n</script>";
85
87
  else
86
88
  redirect_to url
87
89
  end
@@ -105,9 +107,12 @@ module RFacebook
105
107
 
106
108
  # template method call upon success
107
109
  if session[:rfacebook_fbsession].is_valid?
110
+ RAILS_DEFAULT_LOGGER.debug "** rfacebook: Login was successful, calling finish_facebook_login"
108
111
  finish_facebook_login
109
112
  end
110
113
 
114
+ else
115
+ RAILS_DEFAULT_LOGGER.debug "** rfacebook: Didn't activate session from handle_facebook_login"
111
116
  end
112
117
 
113
118
  end
@@ -118,15 +123,23 @@ module RFacebook
118
123
  handle_facebook_login
119
124
 
120
125
  if !performed?
126
+
127
+ RAILS_DEFAULT_LOGGER.debug "** rfacebook: Rendering has not been performed"
128
+
121
129
  # try to get the session
122
130
  sess = fbsession
123
131
 
124
132
  # handle invalid sessions by forcing the user to log in
125
133
  if !sess.is_valid?
134
+
135
+ RAILS_DEFAULT_LOGGER.debug "** rfacebook: Session is not valid"
136
+
126
137
  if in_facebook_canvas?
138
+ RAILS_DEFAULT_LOGGER.debug "** rfacebook: Rendering canvas redirect"
127
139
  render :text => "<fb:redirect url=\"#{sess.get_login_url(:canvas=>true)}\" />"
128
140
  return false
129
141
  else
142
+ RAILS_DEFAULT_LOGGER.debug "** rfacebook: Redirecting to login"
130
143
  redirect_to sess.get_login_url
131
144
  return false
132
145
  end
@@ -53,11 +53,11 @@ class FacebookSession
53
53
  attr_reader :last_call_was_successful, :last_error
54
54
  attr_writer :suppress_exceptions
55
55
 
56
- # SECTION: Exceptions
56
+ # SECTION: StandardErrors
57
57
 
58
- class RemoteException < Exception; end
59
- class ExpiredSessionException < Exception; end
60
- class NotActivatedException < Exception; end
58
+ class RemoteStandardError < StandardError; end
59
+ class ExpiredSessionStandardError < StandardError; end
60
+ class NotActivatedStandardError < StandardError; end
61
61
 
62
62
  # SECTION: Public Methods
63
63
 
@@ -95,19 +95,19 @@ class FacebookSession
95
95
  # SECTION: Public Abstract Interface
96
96
 
97
97
  def is_valid?
98
- raise Exception
98
+ raise StandardError
99
99
  end
100
100
 
101
101
  def session_key
102
- raise Exception
102
+ raise StandardError
103
103
  end
104
104
 
105
105
  def session_user_id
106
- raise Exception
106
+ raise StandardError
107
107
  end
108
108
 
109
109
  def session_expires
110
- raise Exception
110
+ raise StandardError
111
111
  end
112
112
 
113
113
  def session_uid # deprecated
@@ -118,11 +118,11 @@ class FacebookSession
118
118
  protected
119
119
 
120
120
  def get_secret(params)
121
- raise Exception
121
+ raise StandardError
122
122
  end
123
123
 
124
124
  def is_activated?
125
- raise Exception
125
+ raise StandardError
126
126
  end
127
127
 
128
128
  # SECTION: Protected Concrete Interface
@@ -150,7 +150,7 @@ class FacebookSession
150
150
 
151
151
  # ensure that this object has been activated somehow
152
152
  if (!method.include?("auth") and !is_activated?)
153
- raise NotActivatedException, "You must activate the session before using it."
153
+ raise NotActivatedStandardError, "You must activate the session before using it."
154
154
  end
155
155
 
156
156
  # set up params hash
@@ -189,11 +189,11 @@ class FacebookSession
189
189
  # check to see if this error was an expired session error
190
190
  if code.to_i == 102
191
191
  @session_expired = true
192
- raise ExpiredSessionException, @last_error unless @suppress_exceptions == true
192
+ raise ExpiredSessionStandardError, @last_error unless @suppress_exceptions == true
193
193
  end
194
194
 
195
195
  # otherwise, just throw a generic expired session
196
- raise RemoteException, @last_error unless @suppress_exceptions == true
196
+ raise RemoteStandardError, @last_error unless @suppress_exceptions == true
197
197
 
198
198
  return nil
199
199
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: rfacebook
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.6.3
7
- date: 2007-07-03 00:00:00 -07:00
6
+ version: 0.6.4
7
+ date: 2007-07-15 00:00:00 -07:00
8
8
  summary: A Ruby interface to the Facebook API v1.0+. Supports the new features from F8.
9
9
  require_paths:
10
10
  - lib