class Hash

Constants

DATE_FORMATS

Public Instance Methods

to_date() click to toggle source
# File lib/date_time_precision/format/hash.rb, line 19
def to_date
  Date.new(*date_time_args.take(Date::MAX_PRECISION))
end
to_datetime() click to toggle source
# File lib/date_time_precision/format/hash.rb, line 15
def to_datetime
  DateTime.new(*date_time_args.take(DateTime::SEC))
end
to_time() click to toggle source
# File lib/date_time_precision/format/hash.rb, line 11
def to_time
  Time.mktime(*date_time_args)
end

Protected Instance Methods

date_time_args() click to toggle source
# File lib/date_time_precision/format/hash.rb, line 24
def date_time_args
  year = self[:year] || self[:y] || self[:yr] || self['year'] || self['y'] || self['yr']
  month = self[:mon] || self[:m] || self[:month] || self['mon'] || self['m'] || self['month']
  day = self[:mday] || self[:d] || self[:day] || self['mday'] || self['d'] || self['day']
  hour = self[:hour] || self[:h] || self[:hr] || self['hour'] || self['h'] || self['hr']
  minute = self[:min] || self[:minute] || self['min'] || self["minute"]
  second = self[:sec] || self[:s] || self[:second] || self['sec'] || self['s'] || self["second"]
  micro_second = self[:sec_frac] || self[:second_fraction] || self['sec_frac'] || self['second_fraction'] ||
    self[:usec] || self[:micro_second] || self['usec'] || self['micro_second']

  [year, month, day, hour, minute, second, micro_second]
end