Module: Facebooker::Rails::Helpers::FbConnect

Included in:
Facebooker::Rails::Helpers
Defined in:
lib/facebooker/rails/helpers/fb_connect.rb

Instance Method Summary collapse

Instance Method Details

#fb_connect_javascript_tagObject



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 (url)
  js = update_page do |page|
    page.redirect_to url
  end
  ("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
  options = args.second || {}
  options.merge!(:onlogin=>callback)if callback

  ("fb:login-button",nil, options)
end


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_countObject



69
70
71
# File 'lib/facebooker/rails/helpers/fb_connect.rb', line 69

def fb_unconnected_friends_count
   "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