Sha256: ec076e5ce672c7605e96d83f3c837f99b751bf81a220081f77c2685751e6dc33
Contents?: true
Size: 664 Bytes
Versions: 1
Compression:
Stored size: 664 Bytes
Contents
require 'quantum_leap/version' module QuantumLeap extend self def time_travel_offsets @time_travel_offsets ||= [] end def reset @time_travel_offsets = [] end def mock_current_time(new_time) time_travel_offsets.push(Time.now - new_time) end def now Time.really_now - time_travel_offsets.inject(0, :+) end end class << Time alias_method :really_now, :now def now; QuantumLeap.now; end end class Quantum def self.leap(time) QuantumLeap.mock_current_time(time) return unless block_given? begin yield ensure QuantumLeap.reset end end def self.leap_back QuantumLeap.reset end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quantum_leap-0.2.0 | lib/quantum_leap.rb |