Class: Peictt::Application

Inherits:
Object show all
Defined in:
lib/peictt.rb

Constant Summary collapse

ASSETS_REGEXP =
%r(^[(\/|)]assets\/[(css|js)]+\/([a-z_]+\.[(css|js)]+)$)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configObject



15
16
# File 'lib/peictt.rb', line 15

def self.config
end

.paramsObject



18
19
20
# File 'lib/peictt.rb', line 18

def self.params
  @@request.params
end

.routesObject



26
27
28
# File 'lib/peictt.rb', line 26

def self.routes
  @route_builder ||= Peictt::Builder::Router.new
end

.sessionObject



22
23
24
# File 'lib/peictt.rb', line 22

def self.session
  @@request.session
end

Instance Method Details

#call(env) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/peictt.rb', line 7

def call(env)
  if ASSETS_REGEXP =~ env["PATH_INFO"]
    return Peictt::Controller.get_asset($1)
  end
  @@request = Rack::Request.new(env)
  get_rack_app(env)
end

#get_rack_app(env) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/peictt.rb', line 30

def get_rack_app(env)
  route, params = Peictt::Http::Checker.check_url(env,
                                                  self.class.routes.all)
  @@request.params.merge! params unless params.nil?
  if route.respond_to? :controller
    return route.controller.action(route.action).call(env)
  else
    return route.call(env)
  end
end