module Timeliness::Helpers

Public Instance Methods

abbr_month_names() click to toggle source
# File lib/timeliness/helpers.rb, line 33
def abbr_month_names
  i18n_loaded? ? I18n.t('date.abbr_month_names') : Date::ABBR_MONTHNAMES
end
full_hour(hour, meridian) click to toggle source
# File lib/timeliness/helpers.rb, line 4
def full_hour(hour, meridian)
  hour = hour.to_i
  return hour if meridian.nil?
  if meridian.delete('.').downcase == 'am'
    raise(ArgumentError) if hour == 0 || hour > 12
    hour == 12 ? 0 : hour
  else
    hour == 12 ? hour : hour + 12
  end
end
i18n_loaded?() click to toggle source
# File lib/timeliness/helpers.rb, line 48
def i18n_loaded?
  defined?(I18n)
end
microseconds(usec) click to toggle source
# File lib/timeliness/helpers.rb, line 37
def microseconds(usec)
  (".#{usec}".to_f * 1_000_000).to_i
end
month_index(month) click to toggle source
# File lib/timeliness/helpers.rb, line 24
def month_index(month)
  return month.to_i if month.to_i > 0 || /0+/ =~ month
  month.length > 3 ? month_names.index(month.capitalize) : abbr_month_names.index(month.capitalize)
end
month_names() click to toggle source
# File lib/timeliness/helpers.rb, line 29
def month_names
  i18n_loaded? ? I18n.t('date.month_names') : Date::MONTHNAMES
end
offset_in_seconds(offset) click to toggle source
# File lib/timeliness/helpers.rb, line 41
def offset_in_seconds(offset)
  sign = offset =~ /^-/ ? -1 : 1
  parts = offset.scan(/\d\d/).map {|p| p.to_f }
  parts[1] = parts[1].to_f / 60
  (parts[0] + parts[1]) * sign * 3600
end
unambiguous_year(year) click to toggle source
# File lib/timeliness/helpers.rb, line 15
def unambiguous_year(year)
  if year.length <= 2
    century = Time.now.year.to_s[0..1].to_i
    century -= 1 if year.to_i >= Timeliness.ambiguous_year_threshold
    year = "#{century}#{year.rjust(2,'0')}"
  end
  year.to_i
end