Sha256: 577fe6e09638b8ed60b43243ce296e7fee028bbeeff817383b2eb2e87f9cda03

Contents?: true

Size: 1.78 KB

Versions: 5

Compression:

Stored size: 1.78 KB

Contents

module Authlogic
  module Session
    # Sort of like an interface, it sets the foundation for the class, such as the
    # required methods. This also allows other modules to overwrite methods and call super
    # on them. It's also a place to put "utility" methods used throughout Authlogic.
    module Foundation
      def self.included(klass)
        klass.class_eval do
          extend Authlogic::Config
          include InstanceMethods
        end
      end

      module InstanceMethods
        def initialize(*args)
          self.credentials = args
        end

        # The credentials you passed to create your session. See credentials= for more
        # info.
        def credentials
          []
        end

        # Set your credentials before you save your session. You can pass a hash of
        # credentials:
        #
        #   session.credentials = {:login => "my login", :password => "my password", :remember_me => true}
        #
        # or you can pass an array of objects:
        #
        #   session.credentials = [my_user_object, true]
        #
        # and if you need to set an id, just pass it last. This value need be the last
        # item in the array you pass, since the id is something that you control yourself,
        # it should never be set from a hash or a form. Examples:
        #
        #   session.credentials = [{:login => "my login", :password => "my password", :remember_me => true}, :my_id]
        #   session.credentials = [my_user_object, true, :my_id]
        def credentials=(values)
        end

        def inspect
          "#<#{self.class.name}: #{credentials.blank? ? "no credentials provided" : credentials.inspect}>"
        end

        private

          def build_key(last_part)
            last_part
          end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
authlogic-3.8.0 lib/authlogic/session/foundation.rb
authlogic-3.7.0 lib/authlogic/session/foundation.rb
authlogic-3.6.1 lib/authlogic/session/foundation.rb
authlogic-3.6.0 lib/authlogic/session/foundation.rb
authlogic-3.5.0 lib/authlogic/session/foundation.rb