Sha256: 7ccf6311f305370e1521e6c79ecdd2c21867e57a82890de52d72468a3d8bf321
Contents?: true
Size: 941 Bytes
Versions: 3
Compression:
Stored size: 941 Bytes
Contents
module Samuel module Diary extend self def record_request(http, request, time_requested) @requests ||= [] @requests.push({:request => request, :time_requested => time_requested}) end def record_response(http, request, response, time_responded) 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 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
samuel-0.3.2 | lib/samuel/diary.rb |
samuel-0.3.1 | lib/samuel/diary.rb |
samuel-0.3.0 | lib/samuel/diary.rb |