class Kno::Session
Public Class Methods
new(app, options)
click to toggle source
# File lib/kno.rb, line 66 def initialize(app, options) @app = app @config = Kno::Config.new(options) @api = Kno::API.new(@config) end
Public Instance Methods
call(env)
click to toggle source
# File lib/kno.rb, line 72 def call(env) req = Rack::Request.new(env) persona_id = req.session[:persona_id] env['kno'] = Helpers.new(persona_id, @config) if env['PATH_INFO'] == "/session/new" kno_token = req.params["knoToken"] persona_id = @api.authenticate(kno_token) req.session[:persona_id] = persona_id [303, {'location' => '/'}, nil] elsif env['PATH_INFO'] == "/session/terminate" req.session.clear [303, {'location' => "/"}, nil] else @app.call(env) end end