module TimeHelpers

Public Instance Methods

current_time() click to toggle source
# File lib/spreewald/time_steps.rb, line 36
def current_time
  if use_timezones?
    Time.current
  else
    Time.now
  end
end
parse_time(str) click to toggle source
# File lib/spreewald/time_steps.rb, line 28
def parse_time(str)
  if use_timezones?
    Time.zone.parse(str)
  else
    Time.parse(str)
  end
end
travel(duration) click to toggle source

Emulate ActiveSupport time helper methods with Timecop - don't rename these methods

# File lib/spreewald/time_steps.rb, line 46
def travel(duration)
  Timecop.travel(current_time + duration)
end
travel_back() click to toggle source
# File lib/spreewald/time_steps.rb, line 54
def travel_back
  Timecop.return
end
travel_to(date_or_time) click to toggle source
# File lib/spreewald/time_steps.rb, line 50
def travel_to(date_or_time)
  Timecop.travel(date_or_time)
end
use_timezones?() click to toggle source

When you have to make your rails app time zone aware you have to go 100% otherwise you are better off ignoring time zones at all. makandracards.com/makandra/8723-guide-to-localizing-a-rails-application

# File lib/spreewald/time_steps.rb, line 23
def use_timezones?
  active_record_loaded = defined?(ActiveRecord::Base)
  (!active_record_loaded || ActiveRecord::Base.default_timezone != :local) && Time.zone
end