Module: Timezone
- Defined in:
- lib/timezone.rb,
lib/timezone/zone.rb,
lib/timezone/error.rb,
lib/timezone/loader.rb,
lib/timezone/lookup.rb,
lib/timezone/parser.rb,
lib/timezone/version.rb,
lib/timezone/nil_zone.rb,
lib/timezone/deprecate.rb,
lib/timezone/lookup/test.rb,
lib/timezone/lookup/basic.rb,
lib/timezone/lookup/google.rb,
lib/timezone/lookup/geonames.rb,
lib/timezone/net_http_client.rb
Overview
Main entry point for all timezone related functionality.
Defined Under Namespace
Modules: Deprecate, Error, Lookup Classes: NilZone, Zone
Constant Summary collapse
- VERSION =
'1.3.27'
Class Method Summary collapse
-
.[](name) ⇒ Timezone::Zone, Timezone::NilZone
Retrieve a timezone by name.
-
.fetch(name, default = :__block) {|name| ... } ⇒ Timezone::Zone, Object
Fetch a timezone by name.
-
.lookup(lat, long, default = :__block) {|name| ... } ⇒ Timezone::Zone, Object
Lookup a timezone name by (lat, long) and then fetch the timezone object.
-
.names ⇒ Array<String>
A list of all timezone names.
Class Method Details
.[](name) ⇒ Timezone::Zone, Timezone::NilZone
Retrieve a timezone by name.
23 24 25 |
# File 'lib/timezone.rb', line 23 def self.[](name) fetch(name) { ::Timezone::NilZone.new } end |
.fetch(name, default = :__block) {|name| ... } ⇒ Timezone::Zone, Object
Fetch a timezone by name.
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/timezone.rb', line 42 def self.fetch(name, default = :__block, &block) return ::Timezone::Zone.new(name) if Loader.valid?(name) if block_given? && default != :__block warn('warning: block supersedes default value argument') end return block.call(name) if block_given? return default unless default == :__block raise ::Timezone::Error::InvalidZone end |
.lookup(lat, long, default = :__block) {|name| ... } ⇒ Timezone::Zone, Object
Lookup a timezone name by (lat, long) and then fetch the timezone object.
76 77 78 |
# File 'lib/timezone.rb', line 76 def self.lookup(lat, long, default = :__block, &block) fetch(::Timezone::Lookup.lookup.lookup(lat, long), default, &block) end |
.names ⇒ Array<String>
A list of all timezone names.
13 14 15 |
# File 'lib/timezone.rb', line 13 def self.names Loader.names end |