Class: RubyApp::Rack::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_app/rack/session.rb

Instance Method Summary collapse

Constructor Details

#initialize(application) ⇒ Session

Returns a new instance of Session.



8
9
10
# File 'lib/ruby_app/rack/session.rb', line 8

def initialize(application)
  @application = application
end

Instance Method Details

#call(environment) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/ruby_app/rack/session.rb', line 12

def call(environment)
  RubyApp::Session.load!(RubyApp::Request.cookies['_session'], RubyApp::Request.query['script'])
  begin
    #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)} RubyApp::Session.session_id=#{RubyApp::Session.session_id.inspect}")
    #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)} RubyApp::Session.expires=#{RubyApp::Session.expires.inspect}")
    #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)}                    (now)=#{Time.now.inspect}")
    RubyApp::Response.set_cookie('_session', { :value    => RubyApp::Session.session_id,
                                               :expires  => RubyApp::Session.expires,
                                               :path     => RubyApp::Application.root})
    return @application.call(environment)
  ensure
    RubyApp::Session.unload!
  end
end