Module: Facepalm::Rails::Controller

Defined in:
lib/facepalm/rails/controller.rb,
lib/facepalm/rails/controller/redirects.rb,
lib/facepalm/rails/controller/oauth_access.rb,
lib/facepalm/rails/controller/url_rewriting.rb

Overview

Rails application controller extension

Defined Under Namespace

Modules: OauthAccess, Redirects, UrlRewriting

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/facepalm/rails/controller.rb', line 10

def self.included(base)
  base.class_eval do
    include Facepalm::Rails::Controller::OauthAccess
    include Facepalm::Rails::Controller::UrlRewriting
    include Facepalm::Rails::Controller::Redirects

    # Fix cookie permission issue in IE
    before_filter :normal_cookies_for_ie_in_iframes!

    helper_method(:facepalm, :fb_signed_request, :current_facebook_user, :params_without_facebook_data)

    helper Facepalm::Rails::Helpers
  end
end

Instance Method Details

#current_facebook_userObject

Accessor to current facebook user. Returns instance of Facepalm::User



32
33
34
# File 'lib/facepalm/rails/controller.rb', line 32

def current_facebook_user
  @current_facebook_user ||= fetch_current_facebook_user
end

#facepalmObject

Accessor to current application config. Override it in your controller if you need multi-application support or per-request configuration selection.



27
28
29
# File 'lib/facepalm/rails/controller.rb', line 27

def facepalm
  Facepalm::Config.default
end

Accessor to secure cookie set by Facebook



37
38
39
# File 'lib/facepalm/rails/controller.rb', line 37

def fb_cookie
  cookies["fbsr_#{ facepalm.app_id }"]
end

#fb_signed_requestObject

Accessor to signed request passed either in params or in flash



42
43
44
# File 'lib/facepalm/rails/controller.rb', line 42

def fb_signed_request
  request.env['HTTP_SIGNED_REQUEST'] || flash[:signed_request]
end

#params_without_facebook_dataObject

A hash of params passed to this action, excluding secure information passed by Facebook



48
49
50
# File 'lib/facepalm/rails/controller.rb', line 48

def params_without_facebook_data
  params.except(:signed_request)
end