module TimeWarpAbility
Public Instance Methods
pretend_now_is(*args) { || ... }
click to toggle source
# File lib/time_warp.rb, line 9 def pretend_now_is(*args) Time.testing_offset = Time.now - time_from(*args) if block_given? begin yield ensure reset_to_real_time end end end
reset_to_real_time()
click to toggle source
# File lib/time_warp.rb, line 5 def reset_to_real_time Time.testing_offset = 0 end
Private Instance Methods
time_from(*args)
click to toggle source
# File lib/time_warp.rb, line 22 def time_from(*args) return args[0] if 1 == args.size && args[0].is_a?(Time) return args[0].to_time if 1 == args.size && args[0].respond_to?(:to_time) # For example, if it's a Date. Time.utc(*args) end