Class: Rack::Facebook::Request

Inherits:
Request
  • Object
show all
Defined in:
lib/rack/facebook.rb

Constant Summary collapse

FB_PREFIX =
"fb_sig".freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



116
117
118
# File 'lib/rack/facebook.rb', line 116

def api_key
  @api_key
end

Instance Method Details

#cookies_signatureObject



127
128
129
# File 'lib/rack/facebook.rb', line 127

def cookies_signature
  cookies[@api_key]
end

#extract_facebook_params(where) ⇒ Object



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/rack/facebook.rb', line 131

def extract_facebook_params(where)
  
  case where
  when :post
    source = self.POST
    prefix = FB_PREFIX
  when :cookies
    source = cookies
    prefix = @api_key
  end
  
  prefix = "#{prefix}_"
  
  source.inject({}) do |extracted, (key, value)|
    if key.index(prefix) == 0
      extracted[key.sub(prefix, '')] = value
      source.delete(key) if :post == where
    end
    extracted
  end
end

#facebook?Boolean

Returns:

  • (Boolean)


118
119
120
# File 'lib/rack/facebook.rb', line 118

def facebook?
  params_signature or cookies_signature
end

#params_signatureObject



122
123
124
125
# File 'lib/rack/facebook.rb', line 122

def params_signature
  return @params_signature if @params_signature or @params_signature == false
  @params_signature = self.POST.delete(FB_PREFIX) || false
end