Sha256: 645a89c123383dd52bb67c0cd11be60e8068c62551a9dd7dc866d2fd2e09b508

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

module Authlogic
  module ControllerAdapters # :nodoc:
    # = Abstract Adapter
    #
    # Allows you to use Authlogic in any framework you want, not just rails. See the RailsAdapter or MerbAdapter for an example of how to adapt Authlogic to work with your framework.
    class AbstractAdapter
      attr_accessor :controller

      def initialize(controller)
        self.controller = controller
      end
      
      def authenticate_with_http_basic(&block)
        @auth = Rack::Auth::Basic::Request.new(controller.request.env)
        if @auth.provided? and @auth.basic?
          block.call(*@auth.credentials)
        else
          false
        end
      end
      
      def cookies
        controller.cookies
      end

      def params
        controller.params
      end

      def request
        controller.request
      end

      def request_content_type
        request.content_type
      end

      def session
        controller.session
      end
      
      private
        def method_missing(id, *args, &block)
          controller.send(id, *args, &block)
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
authlogic-1.3.8 lib/authlogic/controller_adapters/abstract_adapter.rb
authlogic-1.3.9 lib/authlogic/controller_adapters/abstract_adapter.rb