Class: Corn::Rack::RequestEnv
- Inherits:
-
Object
- Object
- Corn::Rack::RequestEnv
- Defined in:
- lib/corn/rack/request_env.rb
Constant Summary collapse
- KEYS =
[:request_method, :path_info, :http_host, :query_string]
Instance Method Summary collapse
- #end_at ⇒ Object
-
#initialize(env, start_time = Time.now) ⇒ RequestEnv
constructor
A new instance of RequestEnv.
- #time ⇒ Object
- #to_report ⇒ Object
Constructor Details
#initialize(env, start_time = Time.now) ⇒ RequestEnv
Returns a new instance of RequestEnv.
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/corn/rack/request_env.rb', line 5 def initialize(env, start_time=Time.now) @env = KEYS.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_at ⇒ Object
21 22 23 |
# File 'lib/corn/rack/request_env.rb', line 21 def end_at Time.now end |
#time ⇒ Object
17 18 19 |
# File 'lib/corn/rack/request_env.rb', line 17 def time end_at - @env[:start_time] end |
#to_report ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/corn/rack/request_env.rb', line 25 def to_report name = File.join(@env[:http_host].to_s, @env[:path_info].to_s) if @env[:request_method] name = "#{@env[:request_method]} #{name}" end 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 |