Sha256: 91905efb5775950e9c63ea253a417631894e0842e57bb30c1d2d248d9c801ff1
Contents?: true
Size: 1013 Bytes
Versions: 1
Compression:
Stored size: 1013 Bytes
Contents
module Samuel module Diary extend self def record_request(http, request, time_requested = current_time) @requests ||= [] @requests.push({:request => request, :time_requested => time_requested}) end def record_response(http, request, response, time_responded = current_time) time_requested = @requests.detect { |r| r[:request] == request }[:time_requested] @requests.reject! { |r| r[:request] == request } log_request_and_response(http, request, response, time_requested, time_responded) end def current_time Time.now end private def log_request_and_response(http, request, response, time_started, time_ended) log_entry_class = case http.class.to_s when "Net::HTTP" then LogEntries::NetHttp when "HTTPClient" then LogEntries::HttpClient else raise NotImplementedError end log_entry = log_entry_class.new(http, request, response, time_started, time_ended) log_entry.log! end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
samuel-0.3.3 | lib/samuel/diary.rb |