Sha256: 63f48c94b12e1e31fafe01314d11ee55a5e66a878acf1c32800fab3808275f2e

Contents?: true

Size: 1.92 KB

Versions: 19

Compression:

Stored size: 1.92 KB

Contents

module ActionController
  class CgiRequest
    alias :initialize_aliased_by_facebooker :initialize

    def initialize(cgi, session_options = {})
      initialize_aliased_by_facebooker(cgi, session_options)
      @cgi.instance_variable_set("@request_params", request_parameters.merge(query_parameters))
    end
    
    DEFAULT_SESSION_OPTIONS[:cookie_only] = false
  end 
end

module ActionController
  class RackRequest < AbstractRequest #:nodoc:
    alias :initialize_aliased_by_facebooker :initialize

    def initialize(cgi, session_options = {})
      initialize_aliased_by_facebooker(cgi, session_options)
      @cgi.instance_variable_set("@request_params", request_parameters.merge(query_parameters))
    end
  end 
end

class CGI  
  class Session
    private
      alias :initialize_aliased_by_facebooker :initialize
      attr_reader :request, :initialization_options

      def initialize(request, option={})
        @request = request
        @initialization_options = option
        option['session_id'] = set_session_id
        initialize_aliased_by_facebooker(request, option)
      end
      
      def set_session_id
        if session_key_should_be_set_with_facebook_session_key? 
          request_parameters[facebook_session_key]
        else 
          request_parameters[session_key]
        end
      end

      def request_parameters
        request.instance_variable_get("@request_params")
      end

      def session_key_should_be_set_with_facebook_session_key?
        request_parameters[session_key].blank? && !request_parameters[facebook_session_key].blank?
      end

      def session_key
        initialization_options['session_key'] || '_session_id'
      end

      def facebook_session_key
        'fb_sig_session_key'
      end

      alias :create_new_id_aliased_by_facebooker :create_new_id

      def create_new_id
        @new_session = true
        @session_id || create_new_id_aliased_by_facebooker
      end
  end
end

Version data entries

19 entries across 19 versions & 6 rubygems

Version Path
al-facebooker-1.0.9 lib/facebooker/rails/facebook_session_handling.rb
cwninja-facebooker-1.0.8 lib/facebooker/rails/facebook_session_handling.rb
djanowski-facebooker-1.0.1 lib/facebooker/rails/facebook_session_handling.rb
djanowski-facebooker-1.0.10 lib/facebooker/rails/facebook_session_handling.rb
djanowski-facebooker-1.0.11 lib/facebooker/rails/facebook_session_handling.rb
djanowski-facebooker-1.0.2 lib/facebooker/rails/facebook_session_handling.rb
djanowski-facebooker-1.0.4 lib/facebooker/rails/facebook_session_handling.rb
djanowski-facebooker-1.0.7 lib/facebooker/rails/facebook_session_handling.rb
djanowski-mmangino-facebooker-1.0.4 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.10 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.11 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.2 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.3 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.4 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.5 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.6 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.7 lib/facebooker/rails/facebook_session_handling.rb
mmangino-facebooker-1.0.8 lib/facebooker/rails/facebook_session_handling.rb
netshade-facebooker-1.0.6 lib/facebooker/rails/facebook_session_handling.rb