Module: Zip2Tz
- Defined in:
- lib/zip2tz.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 =
JSON.parse(File.read('data/map.json'))
Class Method Summary collapse
Class Method Details
.fetch(ary, *idxn) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/zip2tz.rb', line 41 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
35 36 37 38 39 |
# File 'lib/zip2tz.rb', line 35 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 |