Module: TimezoneParser
- Defined in:
- lib/timezone_parser.rb,
lib/timezone_parser/data.rb,
lib/timezone_parser/version.rb,
lib/timezone_parser/timezone.rb,
lib/timezone_parser/data/cldr.rb,
lib/timezone_parser/zone_info.rb,
lib/timezone_parser/rails_zone.rb,
lib/timezone_parser/data/tzinfo.rb,
lib/timezone_parser/abbreviation.rb,
lib/timezone_parser/data/storage.rb,
lib/timezone_parser/data/windows.rb,
lib/timezone_parser/windows_zone.rb
Overview
TimezoneParser module
Defined Under Namespace
Modules: CLDR, TZInfo, Windows Classes: Abbreviation, Data, RailsData, RailsZone, Timezone, WindowsData, WindowsZone, ZoneInfo
Constant Summary collapse
- AllModules =
Modules which to use by default when no modules are specified
[:Abbreviations, :Timezones, :WindowsZones, :RailsZones].freeze
- VERSION =
Version
'0.4.0'
Class Method Summary collapse
-
.getOffsets(name, toTime = nil, fromTime = nil, regions = @@Regions, locales = @@Locales, type = nil, all = true, modules = @@Modules) ⇒ Array<Fixnum>
Get UTC offsets in seconds for given Timezone name.
-
.getTimezones(name, toTime = nil, fromTime = nil, regions = @@Regions, locales = @@Locales, type = nil, all = true, modules = @@Modules) ⇒ Array<String>
Get Timezone identifiers for given Timezone name.
-
.isValid?(name, locales = @@Locales, modules = @@Modules) ⇒ Boolean
Check if given Timezone name is a valid timezone.
-
.Locales ⇒ Array<String>
Locales which will be used for TimezoneParser methods if not specified there.
-
.Modules ⇒ Array<Symbol>
Modules which will be used for TimezoneParser methods if not specified there.
-
.preload(modules = @@Modules) ⇒ Object
Load Timezone data in memory from files.
-
.Regions ⇒ Array<String>
Regions which will be used for TimezoneParser methods if not specified there.
Class Method Details
.getOffsets(name, toTime = nil, fromTime = nil, regions = @@Regions, locales = @@Locales, type = nil, all = true, modules = @@Modules) ⇒ Array<Fixnum>
Get UTC offsets in seconds for given Timezone name
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/timezone_parser.rb', line 109 def self.getOffsets(name, toTime = nil, fromTime = nil, regions = @@Regions, locales = @@Locales, type = nil, all = true, modules = @@Modules) offsets = SortedSet.new modules = AllModules if modules.nil? or modules.empty? offsets += Abbreviation::getOffsets(name, toTime, fromTime, regions, type) if modules.include?(:Abbreviations) return offsets.to_a if not all and not offsets.empty? offsets += Timezone::getOffsets(name, toTime, fromTime, locales, regions, all) if modules.include?(:Timezones) return offsets.to_a if not all and not offsets.empty? offsets += WindowsZone::getOffsets(name, locales, all) if modules.include?(:WindowsZones) return offsets.to_a if not all and not offsets.empty? offsets += RailsZone::getOffsets(name, toTime, fromTime, locales, all) if modules.include?(:RailsZones) offsets.to_a end |
.getTimezones(name, toTime = nil, fromTime = nil, regions = @@Regions, locales = @@Locales, type = nil, all = true, modules = @@Modules) ⇒ Array<String>
Get Timezone identifiers for given Timezone name
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/timezone_parser.rb', line 143 def self.getTimezones(name, toTime = nil, fromTime = nil, regions = @@Regions, locales = @@Locales, type = nil, all = true, modules = @@Modules) timezones = SortedSet.new modules = AllModules if modules.nil? or modules.empty? timezones += Abbreviation::getTimezones(name, toTime, fromTime, regions, type) if modules.include?(:Abbreviations) return timezones.to_a if not all and not timezones.empty? timezones += Timezone::getTimezones(name, toTime, fromTime, locales, regions, all) if modules.include?(:Timezones) return timezones.to_a if not all and not timezones.empty? timezones += WindowsZone::getTimezones(name, locales, regions, all) if modules.include?(:WindowsZones) return timezones.to_a if not all and not timezones.empty? timezones += RailsZone::getTimezones(name, locales, all) if modules.include?(:RailsZones) timezones.to_a end |
.isValid?(name, locales = @@Locales, modules = @@Modules) ⇒ Boolean
Check if given Timezone name is a valid timezone
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/timezone_parser.rb', line 75 def self.isValid?(name, locales = @@Locales, modules = @@Modules) valid = false modules = AllModules if modules.nil? or modules.empty? valid = Abbreviation::isValid?(name) if modules.include?(:Abbreviations) return valid if valid valid = Timezone::isValid?(name, locales) if modules.include?(:Timezones) return valid if valid valid = WindowsZone::isValid?(name, locales) if modules.include?(:WindowsZones) return valid if valid valid = RailsZone::isValid?(name, locales) if modules.include?(:RailsZones) valid end |
.Locales ⇒ Array<String>
Locales which will be used for TimezoneParser methods if not specified there
Each locale is language identifier based on IETF BCP 47. Usually is either language identifier or language and country/region identifier
48 49 50 |
# File 'lib/timezone_parser.rb', line 48 def self.Locales @@Locales end |
.Modules ⇒ Array<Symbol>
Modules which will be used for TimezoneParser methods if not specified there
26 27 28 |
# File 'lib/timezone_parser.rb', line 26 def self.Modules @@Modules end |
.preload(modules = @@Modules) ⇒ Object
Load Timezone data in memory from files
If no modules are specified it will load default modules
58 59 60 61 |
# File 'lib/timezone_parser.rb', line 58 def self.preload(modules = @@Modules) modules = AllModules if modules.nil? or modules.empty? Data::Storage.preload(modules) end |
.Regions ⇒ Array<String>
Regions which will be used for TimezoneParser methods if not specified there
Each region is either ISO 3166-1 alpha-2 code or CLDR territory (UN M.49)
36 37 38 |
# File 'lib/timezone_parser.rb', line 36 def self.Regions @@Regions end |