Sha256: 5e1a57a4e5627c06fb21a18f764d0739546d6684b296c7bf06fa933b8965fd8a
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
# Authlogic bridge for Sinatra module Authlogic module ControllerAdapters module SinatraAdapter class Cookies attr_reader :request, :response def initialize(request, response) @request = request @response = response end def delete(key, options = {}) @request.cookies.delete(key) end def []=(key, options) @response.set_cookie(key, options) end def method_missing(meth, *args, &block) @request.cookies.send(meth, *args, &block) end end class Controller attr_reader :request, :response, :cookies def initialize(request, response) @request = request @cookies = Cookies.new(request, response) end def session env['rack.session'] end def method_missing(meth, *args, &block) @request.send meth, *args, &block end end class Adapter < AbstractAdapter def cookie_domain env['SERVER_NAME'] end module Implementation def self.included(klass) klass.send :before do controller = Controller.new(request, response) Authlogic::Session::Base.controller = Adapter.new(controller) end end end end end end end Sinatra::Base.send(:include, Authlogic::ControllerAdapters::SinatraAdapter::Adapter::Implementation)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jdl-authlogic-2.1.6.2 | lib/authlogic/controller_adapters/sinatra_adapter.rb |
jdl-authlogic-2.1.6.1 | lib/authlogic/controller_adapters/sinatra_adapter.rb |