class Cb::Responses::Timing
Attributes
elapsed[R]
response[R]
response_sent[R]
should_raise_on_parse_fail[R]
Public Class Methods
new(response, raise_on_parse_fail = true)
click to toggle source
# File lib/cb/responses/timing.rb, line 16 def initialize(response, raise_on_parse_fail = true) @response = response @should_raise_on_parse_fail = raise_on_parse_fail post_initialize end
Private Instance Methods
elapsed_node()
click to toggle source
# File lib/cb/responses/timing.rb, line 55 def elapsed_node 'TimeElapsed' end
elapsed_node_parsable?()
click to toggle source
# File lib/cb/responses/timing.rb, line 45 def elapsed_node_parsable? response.include?(elapsed_node) && response[elapsed_node].respond_to?(:to_f) && timing_parses_to_nonzero? end
parsed_response_sent()
click to toggle source
# File lib/cb/responses/timing.rb, line 37 def parsed_response_sent DateTime.parse(response['TimeResponseSent']) rescue nil end
parsed_time_elapsed()
click to toggle source
# File lib/cb/responses/timing.rb, line 41 def parsed_time_elapsed elapsed_node_parsable? ? response[elapsed_node].to_f : nil end
post_initialize()
click to toggle source
# File lib/cb/responses/timing.rb, line 26 def post_initialize raise_on_empty_timing_info @response_sent = parsed_response_sent @elapsed = parsed_time_elapsed end
raise_on_empty_timing_info()
click to toggle source
# File lib/cb/responses/timing.rb, line 32 def raise_on_empty_timing_info should_raise = (response.nil? || !response.respond_to?(:[])) && should_raise_on_parse_fail fail ExpectedResponseFieldMissing.new('Missing/malformed timing info!') if should_raise end
timing_parses_to_nonzero?()
click to toggle source
# File lib/cb/responses/timing.rb, line 51 def timing_parses_to_nonzero? response[elapsed_node].to_f != 0.0 end