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,
lib/timezone_parser/data/exporter.rb
Overview
TimezoneParser module
Defined Under Namespace
Modules: CLDR, TZInfo, Windows Classes: Abbreviation, Data, RailsZone, Timezone, WindowsZone, ZoneInfo
Constant Summary collapse
- AllModules =
Modules which to use by default when no modules are specified
[:Abbreviations, :Timezones, :WindowsZones, :RailsZones].freeze
- VERSION =
Version
'1.0.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.
-
.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
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/timezone_parser.rb', line 98 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) if modules.include?(:Timezones) return offsets.to_a if not all and not offsets.empty? offsets += WindowsZone::getOffsets(name, locales) if modules.include?(:WindowsZones) return offsets.to_a if not all and not offsets.empty? offsets += RailsZone::getOffsets(name, toTime, fromTime, locales) 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
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/timezone_parser.rb', line 132 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) if modules.include?(:Timezones) return timezones.to_a if not all and not timezones.empty? timezones += WindowsZone::getTimezones(name, locales, regions) if modules.include?(:WindowsZones) return timezones.to_a if not all and not timezones.empty? timezones += RailsZone::getTimezones(name, locales) if modules.include?(:RailsZones) timezones.to_a end |
.isValid?(name, locales = @@Locales, modules = @@Modules) ⇒ Boolean
Check if given Timezone name is a valid timezone
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/timezone_parser.rb', line 64 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 |
.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 |