iana_converter 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/iana_converter.rb +41 -4
- data/lib/mappings/ca_mapping.rb +30 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5376ee0e8bbfe2bca7871f563dfe5a1c543fc630
|
4
|
+
data.tar.gz: e60cabc7e0203d703c20aa153e0e8629fd415e8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e906d458a9f1022beb70e3c3ba4d5fabf50eec7a81d27ac34df9579d1e949133d81a552a71a0e449bd798564127bb2660d3b0d5840075feb78a5005dfd216820
|
7
|
+
data.tar.gz: bdb7df93c5124d6c077b2e126ea1f9317f4a72f124f7c20e4238e7332f2762403a862ed79114fe17e270e4f1bee485693ae29ac1df9d3b3c7e293fd6e9e80a4a
|
data/lib/iana_converter.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
module IANA_Converter
|
5
5
|
|
6
|
-
|
6
|
+
# The Complete IANA US Timezone list with mappings to Rails timezones.
|
7
7
|
US_TIMEZONE_MAPPING = {
|
8
8
|
'America/New_York' => 'America/New_York',
|
9
9
|
'America/Detroit' => 'America/New_York',
|
@@ -33,15 +33,52 @@ module IANA_Converter
|
|
33
33
|
'America/Yakutat' => 'America/Juneau',
|
34
34
|
'America/Nome' => 'America/Juneau',
|
35
35
|
'Pacific/Honolulu' => 'Pacific/Honolulu',
|
36
|
-
'America/Adak' =>
|
36
|
+
'America/Adak' => nil
|
37
|
+
}.freeze
|
38
|
+
|
39
|
+
# The complete IANA CA Timezone list with mappings to Rails timezones
|
40
|
+
CA_TIMEZONE_MAPPING = {
|
41
|
+
'America/St_Johns' => 'America/St_Johns',
|
42
|
+
'America/Halifax' => 'America/Halifax',
|
43
|
+
'America/Glace_Bay' => 'America/Halifax',
|
44
|
+
'America/Moncton' => 'America/Halifax',
|
45
|
+
'America/Goose_Bay' => 'America/Halifax',
|
46
|
+
'America/Blanc-Sablon' => nil,
|
47
|
+
'America/Toronto' => 'America/New_York',
|
48
|
+
'America/Nipigon' => 'America/New_York',
|
49
|
+
'America/Thunder_Bay' => 'America/New_York',
|
50
|
+
'America/Iqaluit' => 'America/New_York',
|
51
|
+
'America/Pangnirtung' => 'America/New_York',
|
52
|
+
'America/Atikokan' => nil,
|
53
|
+
'America/Winnipeg' => 'America/Chicago',
|
54
|
+
'America/Rainy_River' => 'America/Chicago',
|
55
|
+
'America/Resolute' => 'America/Chicago',
|
56
|
+
'America/Rankin_Inlet' => 'America/Chicago',
|
57
|
+
'America/Regina' => 'America/Guatemala',
|
58
|
+
'America/Swift_Current' => 'America/Guatemala',
|
59
|
+
'America/Edmonton' => 'America/Denver',
|
60
|
+
'America/Cambridge_Bay' => 'America/Denver',
|
61
|
+
'America/Yellowknife' => 'America/Denver',
|
62
|
+
'America/Inuvik' => 'America/Denver',
|
63
|
+
'America/Creston' => 'America/Phoenix',
|
64
|
+
'America/Dawson_Creek' => 'America/Phoenix',
|
65
|
+
'America/Fort_Nelson' => 'America/Phoenix',
|
66
|
+
'America/Vancouver' => 'America/Los_Angeles',
|
67
|
+
'America/Whitehorse' => 'America/Los_Angeles',
|
68
|
+
'America/Dawson' => 'America/Los_Angeles'
|
37
69
|
}.freeze
|
38
70
|
|
39
|
-
#
|
71
|
+
# A mapping to `nil` indicates that either:
|
72
|
+
# # I was unable to figure out which timezone's rules match the key timezone
|
73
|
+
# # Rails does not have a timezone whose rules match the key timezone.
|
74
|
+
MASTER_MAP = {}.merge!(US_TIMEZONE_MAPPING).merge!(CA_TIMEZONE_MAPPING)
|
75
|
+
|
76
|
+
# Finds which Timezone string Rails uses to reference an IANA/OLSON timezone.
|
40
77
|
#
|
41
78
|
# @param iana_timezone [String] the IANA/OLSON timezone you are trying to use, `'America/Boise'` as an example
|
42
79
|
# @return [String] the rails timezone that encapsulates the timezone you converted.
|
43
80
|
def rails_timezone_for(iana_timezone)
|
44
|
-
|
81
|
+
MASTER_MAP[iana_timezone]
|
45
82
|
end
|
46
83
|
|
47
84
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
CA_TIMEZONE_MAPPING = {
|
2
|
+
'America/St_Johns' => 'America/St_Johns',
|
3
|
+
'America/Halifax' => 'America/Halifax',
|
4
|
+
'America/Glace_Bay' => 'America/Halifax',
|
5
|
+
'America/Moncton' => 'America/Halifax',
|
6
|
+
'America/Goose_Bay' => 'America/Halifax',
|
7
|
+
'America/Blanc-Sablon' => nil,
|
8
|
+
'America/Toronto' => 'America/New_York',
|
9
|
+
'America/Nipigon' => 'America/New_York',
|
10
|
+
'America/Thunder_Bay' => 'America/New_York',
|
11
|
+
'America/Iqaluit' => 'America/New_York',
|
12
|
+
'America/Pangnirtung' => 'America/New_York',
|
13
|
+
'America/Atikokan' => nil,
|
14
|
+
'America/Winnipeg' => 'America/Chicago',
|
15
|
+
'America/Rainy_River' => 'America/Chicago',
|
16
|
+
'America/Resolute' => 'America/Chicago',
|
17
|
+
'America/Rankin_Inlet' => 'America/Chicago',
|
18
|
+
'America/Regina' => 'America/Guatemala'
|
19
|
+
'America/Swift_Current' => 'America/Guatemala'
|
20
|
+
'America/Edmonton' => 'America/Denver',
|
21
|
+
'America/Cambridge_Bay' => 'America/Denver',
|
22
|
+
'America/Yellowknife' => 'America/Denver',
|
23
|
+
'America/Inuvik' => 'America/Denver',
|
24
|
+
'America/Creston' => 'America/Phoenix',
|
25
|
+
'America/Dawson_Creek' => 'America/Phoenix',
|
26
|
+
'America/Fort_Nelson' => 'America/Phoenix',
|
27
|
+
'America/Vancouver' => 'America/Los_Angeles',
|
28
|
+
'America/Whitehorse' => 'America/Los_Angeles',
|
29
|
+
'America/Dawson' => 'America/Los_Angeles'
|
30
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iana_converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Karnes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |-
|
14
14
|
This gem is designed to provide a modular, complete, open-source, crowd-sourced mapping of the 650+ IANA/OLSON timezones of the world into Rails' 146 'important' timezones.
|
@@ -20,6 +20,7 @@ extensions: []
|
|
20
20
|
extra_rdoc_files: []
|
21
21
|
files:
|
22
22
|
- lib/iana_converter.rb
|
23
|
+
- lib/mappings/ca_mapping.rb
|
23
24
|
- lib/mappings/us_mapping.rb
|
24
25
|
homepage: http://rubygems.org/gems/iana_converter
|
25
26
|
licenses:
|