Module: Timeliness::Helpers
- Included in:
- Format
- Defined in:
- lib/timeliness/helpers.rb
Instance Method Summary collapse
- #abbr_month_names ⇒ Object
- #full_hour(hour, meridian) ⇒ Object
- #i18n_loaded? ⇒ Boolean
- #microseconds(usec) ⇒ Object
- #month_index(month) ⇒ Object
- #month_names ⇒ Object
- #offset_in_seconds(offset) ⇒ Object
- #unambiguous_year(year) ⇒ Object
Instance Method Details
#abbr_month_names ⇒ Object
33 34 35 |
# 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) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# 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? ⇒ Boolean
48 49 50 |
# File 'lib/timeliness/helpers.rb', line 48 def i18n_loaded? defined?(I18n) end |
#microseconds(usec) ⇒ Object
37 38 39 |
# File 'lib/timeliness/helpers.rb', line 37 def microseconds(usec) (".#{usec}".to_f * 1_000_000).to_i end |
#month_index(month) ⇒ Object
24 25 26 27 |
# 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 : abbr_month_names).index { |str| month.casecmp?(str) } end |
#month_names ⇒ Object
29 30 31 |
# File 'lib/timeliness/helpers.rb', line 29 def month_names i18n_loaded? ? I18n.t('date.month_names') : Date::MONTHNAMES end |
#offset_in_seconds(offset) ⇒ Object
41 42 43 44 45 46 |
# 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) ⇒ Object
15 16 17 18 19 20 21 22 |
# 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.configuration.ambiguous_year_threshold year = "#{century}#{year.rjust(2,'0')}" end year.to_i end |