Sha256: 3ae292c3fea139426266ba5605d567dfaa67d194aa3648e069bb038838d5814a

Contents?: true

Size: 1.08 KB

Versions: 62

Compression:

Stored size: 1.08 KB

Contents

require 'action_controller/integration'

class Facebooker::Rails::IntegrationSession < ActionController::Integration::Session
  include Facebooker::Rails::TestHelpers
  attr_accessor :default_request_params, :canvas
  
  def process(method, path, parameters = nil, headers = nil)
    if canvas
      parameters = facebook_params(@default_request_params.merge(parameters || {}))
    end
    super method, path, parameters, headers
  end
  
  def reset!
    self.default_request_params = {:fb_sig_in_canvas => '1', :fb_sig_api_key => Facebooker::Session.api_key}.with_indifferent_access
    self.canvas = true
    super
  end
  
  def get(path, parameters = nil, headers = nil)
    if canvas
      post path, (parameters || {}).merge('fb_sig_request_method' => 'GET'), headers
    else
      super path, parameters, headers
    end
  end
  
  %w(put delete).each do |method|
    define_method method do |*args|
      if canvas
        path, parameters, headers = *args
        post path, (parameters || {}).merge('_method' => method.upcase), headers
      else
        super *args
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 19 rubygems

Version Path
micahwedemeyer-facebooker-1.0.50 lib/facebooker/rails/integration_session.rb
micahwedemeyer-facebooker-1.0.51 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.44 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.45 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.46 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.47 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.48 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.49 lib/facebooker/rails/integration_session.rb
mmangino-facebooker-1.0.50 lib/facebooker/rails/integration_session.rb
pomartel-facebooker-1.0.45 lib/facebooker/rails/integration_session.rb
pomartel-facebooker-1.0.47 lib/facebooker/rails/integration_session.rb
simianarmy-facebooker-1.0.50 lib/facebooker/rails/integration_session.rb
simianarmy-facebooker-1.0.51 lib/facebooker/rails/integration_session.rb
taweili-facebooker-1.0.45 lib/facebooker/rails/integration_session.rb
taweili-facebooker-1.0.47 lib/facebooker/rails/integration_session.rb
taweili-facebooker-1.0.50 lib/facebooker/rails/integration_session.rb
zerobearing2-facebooker-1.0.46 lib/facebooker/rails/integration_session.rb
facebooker-1.0.75 lib/facebooker/rails/integration_session.rb
sentientmonkey-facebooker-1.0.74 lib/facebooker/rails/integration_session.rb
facebooker-micah-1.0.74 lib/facebooker/rails/integration_session.rb