Class: NeetoTimeZones::Utils

Inherits:
Object
  • Object
show all
Defined in:
lib/neeto_time_zones/utils.rb

Class Method Summary collapse

Class Method Details

.iana_timezone_to_human_readable(iana_time_zone) ⇒ Object



15
16
17
18
# File 'lib/neeto_time_zones/utils.rb', line 15

def self.iana_timezone_to_human_readable(iana_time_zone)
  time_zone = time_zones.find { |time_zone| time_zone[:utc].include?(iana_time_zone) }
  time_zone&.fetch(:label, nil)
end

.sanitize_timezone(timezone) ⇒ Object

This method sanitizes the browser timezone to the ones supported by ActiveSupport::TimeZone.



21
22
23
# File 'lib/neeto_time_zones/utils.rb', line 21

def self.sanitize_timezone(timezone)
  Constants::TIMEZONES[timezone] || timezone
end

.time_zonesObject



7
8
9
10
11
12
13
# File 'lib/neeto_time_zones/utils.rb', line 7

def self.time_zones
  base_path = File.expand_path("../../data", File.dirname(__FILE__))
  time_zone_hash ||= Constants::DATA_FILES.flat_map do |file_name|
    json_data = File.read(File.join(base_path, file_name))
    JSON.parse(json_data, symbolize_names: true)
  end
end