Module: Hellobase::TimeZones
- Defined in:
- lib/hellobase/time_zones.rb,
lib/hellobase/time_zones/version.rb
Constant Summary collapse
- VERSION =
'0.1.1'
Class Method Summary collapse
- .all_select_values(country_code) ⇒ Object
- .display_name_for(tz_name) ⇒ Object
- .domestic_select_values(country_code) ⇒ Object
- .foreign_select_values(country_code) ⇒ Object
Class Method Details
.all_select_values(country_code) ⇒ Object
14 15 16 |
# File 'lib/hellobase/time_zones.rb', line 14 def all_select_values(country_code) domestic_select_values(country_code) + [['UTC', 'UTC']] + foreign_select_values(country_code) end |
.display_name_for(tz_name) ⇒ Object
18 19 20 |
# File 'lib/hellobase/time_zones.rb', line 18 def display_name_for(tz_name) (@display_names ||= all_select_values('US').to_h.invert)[tz_name] end |
.domestic_select_values(country_code) ⇒ Object
6 7 8 |
# File 'lib/hellobase/time_zones.rb', line 6 def domestic_select_values(country_code) TZInfo::Country.get(country_code).zone_info.map {|z| [z.description || z.timezone.friendly_identifier(true), z.identifier] } end |
.foreign_select_values(country_code) ⇒ Object
10 11 12 |
# File 'lib/hellobase/time_zones.rb', line 10 def foreign_select_values(country_code) TZInfo::Country.all.reject {|c| c.code == country_code }.map(&:zone_info).flatten.uniq.map {|z| [z.description || z.timezone.friendly_identifier(false), z.identifier] } end |