Sha256: b4b15d3e7cca6f56c1620d4eb43a193ff285fbde3e7c43cab0c6b1069ba42352
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
module Timeliness module Helpers 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 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.configuration.ambiguous_year_threshold year = "#{century}#{year.rjust(2,'0')}" end year.to_i end def month_index(month) return month.to_i if month.to_i > 0 || /0+/ =~ month (month.length > 3 ? month_names : abbr_month_names).index { |str| month.casecmp?(str) } end def month_names i18n_loaded? ? I18n.t('date.month_names') : Date::MONTHNAMES end def abbr_month_names i18n_loaded? ? I18n.t('date.abbr_month_names') : Date::ABBR_MONTHNAMES end def microseconds(usec) (".#{usec}".to_f * 1_000_000).to_i end 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 def i18n_loaded? defined?(I18n) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
timeliness-0.5.0 | lib/timeliness/helpers.rb |
timeliness-0.4.5 | lib/timeliness/helpers.rb |