Module: Facebooker::Rails::Helpers::FbConnect
- Included in:
- Facebooker::Rails::Helpers
- Defined in:
- lib/facebooker/rails/helpers/fb_connect.rb
Instance Method Summary collapse
- #fb_connect_javascript_tag ⇒ Object
- #fb_login_and_redirect(url) ⇒ Object
-
#fb_login_button(*args) ⇒ Object
Render an <fb:login-button> element.
- #fb_logout_link(text, url) ⇒ Object
- #fb_unconnected_friends_count ⇒ Object
- #fb_user_action(action) ⇒ Object
- #init_fb_connect(*required_features, &proc) ⇒ Object
Instance Method Details
#fb_connect_javascript_tag ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 6 def fb_connect_javascript_tag if request.ssl? javascript_include_tag "https://www.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" else javascript_include_tag "http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" end end |
#fb_login_and_redirect(url) ⇒ Object
62 63 64 65 66 67 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 62 def fb_login_and_redirect(url) js = update_page do |page| page.redirect_to url end content_tag("fb:login-button",nil,:onlogin=>js) end |
#fb_login_button(*args) ⇒ Object
Render an <fb:login-button> element
Examples
<%= fb_login_button%>
> <fb:login-button></fb:login-button>
Specifying a javascript callback
<%= fb_login_button ‘update_something();’%>
> <fb:login-button onlogin=‘update_something();’></fb:login-button>
Adding options See: wiki.developers.facebook.com/index.php/Fb:login-button
<%= fb_login_button ‘update_something();’, :size => :small, :background => :dark%>
> <fb:login-button background=‘dark’ onlogin=‘update_something();’ size=‘small’></fb:login-button>
54 55 56 57 58 59 60 61 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 54 def (*args) callback = args.first = args.second || {} .merge!(:onlogin=>callback)if callback content_tag("fb:login-button",nil, ) end |
#fb_logout_link(text, url) ⇒ Object
73 74 75 76 77 78 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 73 def fb_logout_link(text,url) js = update_page do |page| page.call "FB.Connect.logoutAndRedirect",url end link_to_function text, js end |
#fb_unconnected_friends_count ⇒ Object
69 70 71 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 69 def fb_unconnected_friends_count content_tag "fb:unconnected-friends-count",nil end |
#fb_user_action(action) ⇒ Object
80 81 82 83 84 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 80 def fb_user_action(action) update_page do |page| page.call "FB.Connect.showFeedDialog",action.template_id,action.data,action.target_ids,action.body_general,nil,"FB.RequireConnect.promptConnect" end end |
#init_fb_connect(*required_features, &proc) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 14 def init_fb_connect(*required_features,&proc) additions = "" if block_given? additions = capture(&proc) end init_string = "FB.Facebook.init('#{Facebooker.api_key}','/xd_receiver.html');" unless required_features.blank? init_string = <<-FBML Element.observe(window,'load', function() { FB_RequireFeatures(#{required_features.to_json}, function() { #{init_string} #{additions} }); }); FBML end if block_given? concat javascript_tag(init_string) else javascript_tag init_string end end |