Class: Time

Inherits:
Object
  • Object
show all
Defined in:
lib/helpers/time.rb

Instance Method Summary collapse

Instance Method Details

#change(options) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/helpers/time.rb', line 7

def change(options)
  new_year  = options.fetch(:year, year)
  new_month = options.fetch(:month, month)
  new_day   = options.fetch(:day, day)
  new_hour  = options.fetch(:hour, hour)
  new_min   = options.fetch(:min, options[:hour] ? 0 : min)
  new_sec   = options.fetch(:sec, (options[:hour] || options[:min]) ? 0 : sec)
  new_usec  = options.fetch(:usec, (options[:hour] || options[:min] || options[:sec]) ? 0 : Rational(nsec, 1000))

  if utc?
    ::Time.utc(new_year, new_month, new_day, new_hour, new_min, new_sec, new_usec)
  elsif zone
    ::Time.local(new_year, new_month, new_day, new_hour, new_min, new_sec, new_usec)
  else
    ::Time.new(new_year, new_month, new_day, new_hour, new_min, new_sec + (new_usec.to_r / 1000000), utc_offset)
  end
end

#midnightObject



3
4
5
# File 'lib/helpers/time.rb', line 3

def midnight
  change(:hour => 0)
end