class Trice::ControllerMethods::ReferenceTimeAssignment
Constants
- HEADER_STUB_KEY
- QUERY_STUB_KEY
Public Class Methods
new(config)
click to toggle source
# File lib/trice/controller_methods/reference_time_assignment.rb, line 8 def initialize(config) @stub_configuration = config end
Public Instance Methods
around(controller, &action)
click to toggle source
# File lib/trice/controller_methods/reference_time_assignment.rb, line 12 def around(controller, &action) t = stubbed_requested_at(controller) || Time.now Trice.with_reference_time(t, &action) end
Private Instance Methods
requested_at_string(request)
click to toggle source
# File lib/trice/controller_methods/reference_time_assignment.rb, line 28 def requested_at_string(request) request.params[QUERY_STUB_KEY] || request.headers[HEADER_STUB_KEY] end
stubbed_requested_at(controller)
click to toggle source
# File lib/trice/controller_methods/reference_time_assignment.rb, line 20 def stubbed_requested_at(controller) requested_at = requested_at_string(controller.request) if requested_at && @stub_configuration.stubbable?(controller) Time.zone.parse(requested_at) end end