Module: Zip2Tz
- Defined in:
- lib/zip2tz.rb,
lib/zip2tz/version.rb
Constant Summary collapse
- TZ_NAMES =
%w( America/New_York America/Chicago America/Denver America/Los_Angeles America/Kentucky/Louisville America/Indiana/Indianapolis America/Detroit America/Boise America/Phoenix America/Anchorage Pacific/Honolulu America/Indiana/Knox America/Indiana/Winamac America/Indiana/Vevay America/Indiana/Marengo America/Indiana/Vincennes America/Indiana/Tell_City America/Indiana/Petersburg America/Menominee America/Shiprock America/Nome America/Juneau America/Kentucky/Monticello America/North_Dakota/Center America/Yakutat )
- MAP_PATH =
Pathname.new(__dir__).parent.join('data', 'map.json')
- MAP =
JSON.parse(MAP_PATH.read)
- VERSION =
"0.1.1".freeze
Class Method Summary collapse
Class Method Details
.fetch(ary, *idxn) ⇒ Object
43 44 45 46 47 48 |
# File 'lib/zip2tz.rb', line 43 def self.fetch(ary, *idxn) return nil if ary.nil? return TZ_NAMES[ary] unless ary.is_a?(Array) i = idxn.shift fetch(ary[i], *idxn) end |
.lookup(zip) ⇒ Object
37 38 39 40 41 |
# File 'lib/zip2tz.rb', line 37 def self.lookup(zip) zip = zip.to_s raise '5 digits required' if zip !~ /\A\d{5}/ fetch(MAP, *zip.chars.first(5).map(&:to_i)) end |