Class: Ground::BaseRack

Inherits:
Object
  • Object
show all
Defined in:
lib/ground/rack/base_rack.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



4
5
6
# File 'lib/ground/rack/base_rack.rb', line 4

def env
  @env
end

#requestObject (readonly)

Returns the value of attribute request.



5
6
7
# File 'lib/ground/rack/base_rack.rb', line 5

def request
  @request
end

Instance Method Details

#call(env) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ground/rack/base_rack.rb', line 7

def call(env)
  start_time = Time.now
  set_request Rack::Request.new(env)

  route, state = Ground::Locate(verb: request_method, path: path_info)
  return non_exist_route if state.nil?

  params = get_params route
  response = state << {request: request, params: params}
  time = Time.now - start_time
  Ground::Log({
                time:           time,
                request_method: request_method,
                path_info:      request.env['REQUEST_PATH'],
                state:          state,
                response:       response,
                params:         params
              })
  
  response
end