Sha256: a36637fc1f48138976463ef1292235118d9d07fdb0c5dc44320fd6860e542f1e
Contents?: true
Size: 825 Bytes
Versions: 2
Compression:
Stored size: 825 Bytes
Contents
require 'timecop' module HyperSpec class Timecop private def travel(mock_type, *args, &block) raise SafeModeException if Timecop.safe_mode? && !block_given? stack_item = TimeStackItem.new(mock_type, *args) stack_backup = @_stack.dup @_stack << stack_item Lolex.push(mock_type, *args) if block_given? begin yield stack_item.time ensure Lolex.pop @_stack.replace stack_backup end end end def return(&block) current_stack = @_stack current_baseline = @baseline unmock! yield ensure Lolex.restore @_stack = current_stack @baseline = current_baseline end def unmock! #:nodoc: @baseline = nil @_stack = [] Lolex.unmock end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hyper-spec-0.1.2 | lib/hyper-spec/time_cop.rb |
hyper-spec-0.1.0 | lib/hyper-spec/time_cop.rb |