Module: FaceB::Rails::Controller

Defined in:
lib/faceb/rails/controller.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(controller) ⇒ Object



5
6
7
8
9
# File 'lib/faceb/rails/controller.rb', line 5

def self.included(controller)
  controller.extend(ClassMethods)
  controller.before_filter :set_facebook_request_format
  controller.helper_method :facebook_session
end

Instance Method Details

#create_facebook_sessionObject



15
16
17
# File 'lib/faceb/rails/controller.rb', line 15

def create_facebook_session
  FaceB::Session.create(FaceB.config.api_key, FaceB.config.secret_key, env['facebook.session_key'])
end

#ensure_authenticated_to_facebookObject



19
20
21
# File 'lib/faceb/rails/controller.rb', line 19

def ensure_authenticated_to_facebook
  create_facebook_session
end

#facebook_sessionObject



11
12
13
# File 'lib/faceb/rails/controller.rb', line 11

def facebook_session
  FaceB::Session.current
end

#in_canvas?Boolean

Return true if request comes from a Facebook canvas

Returns:

  • (Boolean)


24
25
26
# File 'lib/faceb/rails/controller.rb', line 24

def in_canvas?
  !!env['facebook.in_canvas']
end

#in_iframe?Boolean

Return true if request comes from a Facebook iframe

Returns:

  • (Boolean)


29
30
31
# File 'lib/faceb/rails/controller.rb', line 29

def in_iframe?
  !!env["facebook.in_iframe"]
end

#set_facebook_request_formatObject

Set the request format



34
35
36
37
38
# File 'lib/faceb/rails/controller.rb', line 34

def set_facebook_request_format
  if in_canvas? && !in_iframe?
    request.format = :fbml
  end
end