Class: Corn::Rack::RequestEnv

Inherits:
Object
  • Object
show all
Defined in:
lib/corn/rack/request_env.rb

Instance Method Summary collapse

Constructor Details

#initialize(env, start_time = Time.now) ⇒ RequestEnv

Returns a new instance of RequestEnv.



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/corn/rack/request_env.rb', line 4

def initialize(env, start_time=Time.now)
  @env = [:path_info, :http_host, :query_string].inject({}) do |memo, k|
    v = env[k.to_s.upcase]
    if v.nil? || v.empty?
      memo
    else
      memo.merge(k => v)
    end
  end
  @env.merge!(:start_time => start_time)
end

Instance Method Details

#end_atObject



20
21
22
# File 'lib/corn/rack/request_env.rb', line 20

def end_at
  Time.now
end

#timeObject



16
17
18
# File 'lib/corn/rack/request_env.rb', line 16

def time
  end_at - @env[:start_time]
end

#to_reportObject



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/corn/rack/request_env.rb', line 24

def to_report
  name = File.join(@env[:http_host].to_s, @env[:path_info].to_s)
  if @env[:query_string]
    name = "#{name}?#{@env[:query_string]}"
  end
  {
    'report[name]' => name,
    'report[start_at]' => @env[:start_time].iso8601,
    'report[end_at]' => end_at.iso8601
  }
end