rfacebook 0.8.7 → 0.8.8
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.
@@ -336,20 +336,24 @@ module RFacebook
|
|
336
336
|
|
337
337
|
# try to get a regular URL
|
338
338
|
path = url_for__ALIASED(options, *parameters)
|
339
|
-
path += "/"
|
340
339
|
|
341
340
|
# replace anything that references the callback with the
|
342
341
|
# Facebook canvas equivalent (apps.facebook.com/*)
|
343
|
-
if path.starts_with?(self.facebook_callback_path)
|
342
|
+
if (path.starts_with?(self.facebook_callback_path) or "#{path}/".starts_with?(self.facebook_callback_path))
|
344
343
|
path.sub!(self.facebook_callback_path, self.facebook_canvas_path)
|
345
344
|
path = "http://apps.facebook.com#{path}"
|
346
345
|
else
|
347
346
|
# default to a full URL (will link externally)
|
348
347
|
RAILS_DEFAULT_LOGGER.debug "** RFACEBOOK INFO: failed to get canvas-friendly URL ("+path+") for ["+options.inspect+"], creating an external URL instead"
|
349
|
-
|
350
|
-
path = url_for__ALIASED(options, *parameters)
|
348
|
+
path = "#{request.protocol}#{request.host}:#{request.port}#{path}"
|
351
349
|
end
|
352
350
|
|
351
|
+
# mock-ajax rewriting
|
352
|
+
elsif options[:mock_ajax]
|
353
|
+
options.delete(:mock_ajax) # clear it so it doesnt show up in the url
|
354
|
+
options[:only_path] = true
|
355
|
+
path = "#{request.protocol}#{request.host}:#{request.port}#{url_for__ALIASED(options, *parameters)}"
|
356
|
+
|
353
357
|
# regular Rails rewriting
|
354
358
|
else
|
355
359
|
path = url_for__ALIASED(options, *parameters)
|
@@ -363,9 +367,18 @@ module RFacebook
|
|
363
367
|
|
364
368
|
def redirect_to(options = {}, *parameters)
|
365
369
|
if in_facebook_canvas?
|
370
|
+
|
366
371
|
canvasRedirUrl = url_for(options, *parameters)
|
372
|
+
|
373
|
+
# ensure that we come back to the canvas if we redirect
|
374
|
+
# to somewhere else on Facebook
|
375
|
+
if canvasRedirUrl.starts_with?("http://www.facebook.com")
|
376
|
+
canvasRedirUrl = "#{canvasRedirUrl}&canvas"
|
377
|
+
end
|
378
|
+
|
367
379
|
RAILS_DEFAULT_LOGGER.debug "** RFACEBOOK INFO: Canvas redirect to #{canvasRedirUrl}"
|
368
|
-
render :text => "<fb:redirect url=\"#{canvasRedirUrl}\" />"
|
380
|
+
render :text => "<fb:redirect url=\"#{canvasRedirUrl}\" />"
|
381
|
+
|
369
382
|
else
|
370
383
|
RAILS_DEFAULT_LOGGER.debug "** RFACEBOOK INFO: Regular redirect_to"
|
371
384
|
redirect_to__ALIASED(options, *parameters)
|
@@ -40,25 +40,25 @@ module RFacebook
|
|
40
40
|
#####
|
41
41
|
module ControllerExtensions
|
42
42
|
def facebook_api_key
|
43
|
-
FACEBOOK["key"]
|
43
|
+
FACEBOOK["key"] || super
|
44
44
|
end
|
45
45
|
def facebook_api_secret
|
46
|
-
FACEBOOK["secret"]
|
46
|
+
FACEBOOK["secret"] || super
|
47
47
|
end
|
48
48
|
def facebook_canvas_path
|
49
|
-
FACEBOOK["canvas_path"]
|
49
|
+
FACEBOOK["canvas_path"] || super
|
50
50
|
end
|
51
51
|
def facebook_callback_path
|
52
|
-
FACEBOOK["callback_path"]
|
52
|
+
FACEBOOK["callback_path"] || super
|
53
53
|
end
|
54
54
|
end
|
55
55
|
#####
|
56
56
|
module ModelExtensions
|
57
57
|
def facebook_api_key
|
58
|
-
FACEBOOK["key"]
|
58
|
+
FACEBOOK["key"] || super
|
59
59
|
end
|
60
60
|
def facebook_api_secret
|
61
|
-
FACEBOOK["secret"]
|
61
|
+
FACEBOOK["secret"] || super
|
62
62
|
end
|
63
63
|
end
|
64
64
|
#####
|
@@ -85,14 +85,14 @@ def ensureLeadingAndTrailingSlashesForPath(path)
|
|
85
85
|
if !path.reverse.starts_with?("/")
|
86
86
|
path = "#{path}/"
|
87
87
|
end
|
88
|
-
return path
|
88
|
+
return path.strip
|
89
89
|
else
|
90
90
|
return nil
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
FACEBOOK["canvas_path"] = ensureLeadingAndTrailingSlashesForPath(FACEBOOK["canvas_path"])
|
95
|
-
FACEBOOK["callback_path"] = ensureLeadingAndTrailingSlashesForPath(FACEBOOK["callback_path"])
|
94
|
+
FACEBOOK["canvas_path"] = ensureLeadingAndTrailingSlashesForPath(FACEBOOK["canvas_path"])
|
95
|
+
FACEBOOK["callback_path"] = ensureLeadingAndTrailingSlashesForPath(FACEBOOK["callback_path"])
|
96
96
|
|
97
97
|
# inject methods
|
98
98
|
ActionView::Base.send(:include, RFacebook::Rails::ViewExtensions)
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.1
|
3
3
|
specification_version: 1
|
4
4
|
name: rfacebook
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.8.
|
7
|
-
date: 2007-08-
|
6
|
+
version: 0.8.8
|
7
|
+
date: 2007-08-17 00:00:00 -05:00
|
8
8
|
summary: A Ruby interface to the Facebook API v1.0+ (F8 and beyond). Works with RFacebook on Rails plugin (see rfacebook.rubyforge.org).
|
9
9
|
require_paths:
|
10
10
|
- lib
|