Class: Tetrahedron::Sessions

Inherits:
Object
  • Object
show all
Defined in:
lib/tetrahedron/sessions.rb

Defined Under Namespace

Classes: Configuration

Class Method Summary collapse

Class Method Details

.configure(&configurator) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/tetrahedron/sessions.rb', line 18

def self.configure(&configurator)
  application = self.class_variable_get(:@@application)
  configuration = Configuration.new
  configuration.key = (application.to_s.underscore.split('::')+['session']).join('.')
  configuration.dsl(&configurator)
  middleware = application.const_get('Middleware')
  middleware.use(Rack::Session::Cookie, :key => configuration.key,
                                        :domain => configuration.domain,
                                        :path => configuration.path,
                                        :expire_after => configuration.expires,
                                        :secret => configuration.secret)
end

.install(application) ⇒ Object



31
32
33
34
35
# File 'lib/tetrahedron/sessions.rb', line 31

def self.install(application)
  sessions = Class.new(self)
  application.const_set('Sessions', sessions)
  sessions.class_variable_set(:@@application, application)
end