Sha256: 5d9d39c0e2da3c4ac5d9375431f2b6f8913f962b69c9585503c8f7712b30a410
Contents?: true
Size: 798 Bytes
Versions: 4
Compression:
Stored size: 798 Bytes
Contents
module Trice module ControllerMethods class ReferenceTimeAssignment QUERY_STUB_KEY = '_requested_at'.freeze HEADER_STUB_KEY = 'X-REQUESTED-AT'.freeze def initialize(config) @stub_configuration = config end def around(controller, &action) t = stubbed_requested_at(controller) || Time.now Trice.with_reference_time(t, &action) end private 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 def requested_at_string(request) request.params[QUERY_STUB_KEY] || request.headers[HEADER_STUB_KEY] end end end end
Version data entries
4 entries across 4 versions & 1 rubygems