timezone 0.6.0 → 0.99.0
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/.gitignore +1 -0
- data/.rubocop.yml +99 -1
- data/.travis.yml +6 -3
- data/CHANGES.markdown +10 -0
- data/Gemfile +1 -1
- data/README.markdown +129 -89
- data/Rakefile +7 -4
- data/benchmark.rb +13 -13
- data/lib/timezone/active_support.rb +147 -134
- data/lib/timezone/configure.rb +131 -110
- data/lib/timezone/deprecate.rb +32 -0
- data/lib/timezone/error.rb +16 -5
- data/lib/timezone/loader.rb +19 -16
- data/lib/timezone/lookup/basic.rb +24 -2
- data/lib/timezone/lookup/geonames.rb +9 -5
- data/lib/timezone/lookup/google.rb +24 -15
- data/lib/timezone/lookup/test.rb +8 -8
- data/lib/timezone/lookup.rb +68 -0
- data/lib/timezone/net_http_client.rb +23 -9
- data/lib/timezone/nil_zone.rb +32 -0
- data/lib/timezone/parser.rb +10 -5
- data/lib/timezone/version.rb +2 -1
- data/lib/timezone/zone.rb +230 -99
- data/lib/timezone.rb +75 -1
- data/test/basic_lookup_test.rb +2 -2
- data/test/geonames_lookup_test.rb +13 -6
- data/test/google_lookup_test.rb +34 -24
- data/test/http_test_client.rb +7 -6
- data/test/test_lookup_test.rb +3 -1
- data/test/test_timezone.rb +59 -0
- data/test/timezone/lookup/test_geonames.rb +59 -0
- data/test/timezone/lookup/test_google.rb +94 -0
- data/test/timezone/lookup/test_test.rb +24 -0
- data/test/timezone/test_deprecate.rb +20 -0
- data/test/timezone/test_loader.rb +32 -0
- data/test/timezone/test_lookup.rb +53 -0
- data/test/timezone/test_nil_zone.rb +26 -0
- data/test/timezone/test_zone.rb +49 -0
- data/test/timezone_test.rb +64 -63
- data/timezone.gemspec +16 -15
- metadata +39 -38
- data/.rubocop_todo.yml +0 -235
data/test/timezone_test.rb
CHANGED
@@ -1,89 +1,88 @@
|
|
1
1
|
require 'timezone'
|
2
2
|
require 'timezone/zone'
|
3
3
|
require 'minitest/autorun'
|
4
|
-
require "mocha/setup"
|
5
4
|
require 'timecop'
|
6
5
|
|
7
6
|
class TimezoneTest < ::Minitest::Unit::TestCase
|
8
7
|
def test_valid_timezone
|
9
|
-
refute_nil(Timezone::Zone.new(:
|
8
|
+
refute_nil(Timezone::Zone.new(zone: 'Australia/Sydney'))
|
10
9
|
end
|
11
10
|
|
12
11
|
def test_nil_timezone
|
13
12
|
assert_raises Timezone::Error::NilZone do
|
14
|
-
Timezone::Zone.new :
|
13
|
+
Timezone::Zone.new zone: nil
|
15
14
|
end
|
16
15
|
end
|
17
16
|
|
18
17
|
def test_invalid_timezone
|
19
18
|
assert_raises Timezone::Error::InvalidZone do
|
20
|
-
Timezone::Zone.new :
|
19
|
+
Timezone::Zone.new zone: 'Foo/Bar'
|
21
20
|
end
|
22
21
|
end
|
23
22
|
|
24
23
|
def test_timezone_list
|
25
|
-
list = Timezone::Zone.list
|
24
|
+
list = Timezone::Zone.list 'Australia/Sydney', 'America/Chicago'
|
26
25
|
assert list.is_a?(Array)
|
27
26
|
assert list.count == 2
|
28
27
|
assert list.first.is_a?(Hash)
|
29
|
-
assert(list.any?{ |l| l[:zone] == 'Australia/Sydney' })
|
28
|
+
assert(list.any? { |l| l[:zone] == 'Australia/Sydney' })
|
30
29
|
end
|
31
30
|
|
32
31
|
def test_timezone_list_current_time
|
33
|
-
Timecop.freeze(Time.new(2012,2,2,0,0,0)) do
|
32
|
+
Timecop.freeze(Time.new(2012, 2, 2, 0, 0, 0)) do
|
34
33
|
assert !Timezone::Zone.list('EST5EDT').first[:dst]
|
35
34
|
end
|
36
|
-
Timecop.freeze(Time.new(2013,6,6,0,0,0)) do
|
35
|
+
Timecop.freeze(Time.new(2013, 6, 6, 0, 0, 0)) do
|
37
36
|
assert Timezone::Zone.list('EST5EDT').first[:dst]
|
38
37
|
end
|
39
38
|
end
|
40
39
|
|
41
40
|
def test_timezone_custom_list_order
|
42
41
|
Timezone::Configure.order_list_by = :title
|
43
|
-
Timezone::Configure.replace
|
44
|
-
list = Timezone::Zone.list
|
45
|
-
assert list.first[:title] ==
|
46
|
-
assert list.last[:title] ==
|
47
|
-
assert list.last[:zone] ==
|
42
|
+
Timezone::Configure.replace 'America/Chicago', with: 'Chicago'
|
43
|
+
list = Timezone::Zone.list 'Australia/Sydney', 'America/Chicago'
|
44
|
+
assert list.first[:title] == 'Australia/Sydney'
|
45
|
+
assert list.last[:title] == 'Chicago'
|
46
|
+
assert list.last[:zone] == 'America/Chicago'
|
48
47
|
end
|
49
48
|
|
50
49
|
def test_timezone_default_list
|
51
|
-
Timezone::Configure.default_for_list =
|
50
|
+
Timezone::Configure.default_for_list = 'America/Chicago', 'Australia/Sydney'
|
52
51
|
list = Timezone::Zone.list
|
53
52
|
assert list.count == 2
|
54
|
-
assert(list.any?{ |l| l.
|
53
|
+
assert(list.any? { |l| l.value?('Australia/Sydney') })
|
55
54
|
end
|
56
55
|
|
57
56
|
def test_timezone_names
|
58
57
|
zones = Timezone::Zone.names
|
59
58
|
assert zones.is_a?(Array)
|
60
59
|
assert zones.count > 0
|
61
|
-
assert zones.include?
|
60
|
+
assert zones.include? 'Australia/Sydney'
|
62
61
|
end
|
63
62
|
|
64
63
|
def time_timezone_equivalence
|
65
|
-
gmt = Timezone::Zone.new :
|
66
|
-
australia = Timezone::Zone.new :
|
64
|
+
gmt = Timezone::Zone.new zone: 'GMT'
|
65
|
+
australia = Timezone::Zone.new zone: 'Australia/Sydney'
|
67
66
|
|
68
|
-
assert_equal(gmt, Timezone::Zone.new(:
|
67
|
+
assert_equal(gmt, Timezone::Zone.new(zone: 'GMT'))
|
69
68
|
assert gmt <= australia
|
70
69
|
assert gmt < australia
|
71
70
|
end
|
72
71
|
|
73
72
|
def utc_offset(zone, year, month, day)
|
74
|
-
Timezone::Zone.new(:
|
73
|
+
Timezone::Zone.new(zone: zone).utc_offset(Time.new(year, month, day))
|
75
74
|
end
|
76
75
|
|
77
76
|
def test_getting_utc_offset
|
78
|
-
assert_equal(
|
79
|
-
assert_equal(-
|
80
|
-
assert_equal(
|
81
|
-
assert_equal(-
|
82
|
-
assert_equal(-
|
77
|
+
assert_equal(36_000, utc_offset('Australia/Sydney', 2011, 06, 05))
|
78
|
+
assert_equal(-25_200, utc_offset('America/Los_Angeles', 2011, 06, 05))
|
79
|
+
assert_equal(20_700, utc_offset('Asia/Kathmandu', 2011, 06, 05))
|
80
|
+
assert_equal(-18_000, utc_offset('America/New_York', 2011, 01, 11))
|
81
|
+
assert_equal(-14_400, utc_offset('America/New_York', 2011, 06, 11))
|
83
82
|
end
|
84
83
|
|
85
84
|
def dst?(zone, year, month, day)
|
86
|
-
Timezone::Zone.new(:
|
85
|
+
Timezone::Zone.new(zone: zone).dst?(Time.new(year, month, day))
|
87
86
|
end
|
88
87
|
|
89
88
|
def test_getting_dst
|
@@ -95,13 +94,13 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
95
94
|
assert dst?('America/New_York', 2011, 06, 11)
|
96
95
|
end
|
97
96
|
|
98
|
-
def
|
99
|
-
timezone = Timezone::Zone.new :
|
97
|
+
def test_loading_gmt_timezone
|
98
|
+
timezone = Timezone::Zone.new zone: 'GMT'
|
100
99
|
assert_equal Time.now.utc.to_i, timezone.time(Time.now).to_i
|
101
100
|
end
|
102
101
|
|
103
102
|
def test_loading_historical_time
|
104
|
-
timezone = Timezone::Zone.new :
|
103
|
+
timezone = Timezone::Zone.new zone: 'America/Los_Angeles'
|
105
104
|
local = Time.strptime('2011-02-11T13:20:00Z', '%Y-%m-%dT%H:%M:%SZ')
|
106
105
|
utc = Time.strptime('2011-02-11T21:20:00Z', '%Y-%m-%dT%H:%M:%SZ')
|
107
106
|
assert_equal local.to_i, timezone.time(utc).to_i
|
@@ -109,12 +108,12 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
109
108
|
|
110
109
|
# http://www.timeanddate.com/worldclock/clockchange.html?n=137&year=2011
|
111
110
|
def test_historical_time_change_in_la_forward
|
112
|
-
timezone = Timezone::Zone.new :
|
111
|
+
timezone = Timezone::Zone.new zone: 'America/Los_Angeles'
|
113
112
|
local = Time.strptime('2011-03-13T01:59:59 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
114
113
|
utc = Time.strptime('2011-03-13T09:59:59 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
115
114
|
assert_equal local.to_i, timezone.time(utc).to_i
|
116
115
|
|
117
|
-
timezone = Timezone::Zone.new :
|
116
|
+
timezone = Timezone::Zone.new zone: 'America/Los_Angeles'
|
118
117
|
local = Time.strptime('2011-03-13T03:00:00 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
119
118
|
utc = Time.strptime('2011-03-13T10:00:00 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
120
119
|
assert_equal local.to_i, timezone.time(utc).to_i
|
@@ -122,12 +121,12 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
122
121
|
|
123
122
|
# http://www.timeanddate.com/worldclock/clockchange.html?n=137&year=2011
|
124
123
|
def test_historical_time_change_in_la_backward
|
125
|
-
timezone = Timezone::Zone.new :
|
124
|
+
timezone = Timezone::Zone.new zone: 'America/Los_Angeles'
|
126
125
|
local = Time.strptime('2011-11-06T01:59:59 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
127
126
|
utc = Time.strptime('2011-11-06T08:59:59 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
128
127
|
assert_equal local.to_i, timezone.time(utc).to_i
|
129
128
|
|
130
|
-
timezone = Timezone::Zone.new :
|
129
|
+
timezone = Timezone::Zone.new zone: 'America/Los_Angeles'
|
131
130
|
local = Time.strptime('2011-11-06T01:00:00 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
132
131
|
utc = Time.strptime('2011-11-06T09:00:00 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
133
132
|
assert_equal local.to_i, timezone.time(utc).to_i
|
@@ -135,19 +134,19 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
135
134
|
|
136
135
|
# http://www.timeanddate.com/worldclock/clockchange.html?n=2364&year=1940
|
137
136
|
def test_historical_time_change_in_hebron
|
138
|
-
timezone = Timezone::Zone.new :
|
137
|
+
timezone = Timezone::Zone.new zone: 'Asia/Hebron'
|
139
138
|
local = Time.strptime('1940-05-31T23:59:59 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
140
139
|
utc = Time.strptime('1940-05-31T21:59:59 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
141
140
|
assert_equal local.to_i, timezone.time(utc).to_i
|
142
141
|
|
143
|
-
timezone = Timezone::Zone.new :
|
142
|
+
timezone = Timezone::Zone.new zone: 'Asia/Hebron'
|
144
143
|
local = Time.strptime('1940-06-01T01:00:00 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
145
144
|
utc = Time.strptime('1940-05-31T22:00:00 UTC', '%Y-%m-%dT%H:%M:%S %Z')
|
146
145
|
assert_equal local.to_i, timezone.time(utc).to_i
|
147
146
|
end
|
148
147
|
|
149
148
|
def test_loading_half_hour_timezone
|
150
|
-
timezone = Timezone::Zone.new :
|
149
|
+
timezone = Timezone::Zone.new zone: 'Asia/Kathmandu'
|
151
150
|
utc = Time.utc(2011, 1, 4, 3, 51, 29)
|
152
151
|
local = Time.utc(2011, 1, 4, 9, 36, 29)
|
153
152
|
assert_equal local.to_i, timezone.time(utc).to_i
|
@@ -157,67 +156,69 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
157
156
|
# their offsets do not match, and we want to test that the time and offsets
|
158
157
|
# are equivalent.
|
159
158
|
def test_time_with_offset
|
160
|
-
timezone = Timezone::Zone.new :
|
159
|
+
timezone = Timezone::Zone.new zone: 'Asia/Kathmandu'
|
161
160
|
utc = Time.utc(2011, 1, 4, 3, 51, 29)
|
162
|
-
local = Time.new(2011, 1, 4, 9, 36, 29,
|
161
|
+
local = Time.new(2011, 1, 4, 9, 36, 29, 20_700)
|
163
162
|
assert_equal local.to_s, timezone.time_with_offset(utc).to_s
|
164
163
|
|
165
|
-
zone = Timezone::Zone.new(:
|
166
|
-
utc = Time.utc(2014,12,15,22,00,00)
|
167
|
-
local = Time.new(2014,12,15,14,00,00,'-08:00')
|
164
|
+
zone = Timezone::Zone.new(zone: 'America/Los_Angeles')
|
165
|
+
utc = Time.utc(2014, 12, 15, 22, 00, 00)
|
166
|
+
local = Time.new(2014, 12, 15, 14, 00, 00, '-08:00')
|
168
167
|
assert_equal local.to_s, zone.time_with_offset(utc).to_s
|
169
168
|
|
170
|
-
utc = Time.utc(2014,4,5,22,00,00)
|
171
|
-
local = Time.new(2014,4,5,15,00,00,'-07:00')
|
169
|
+
utc = Time.utc(2014, 4, 5, 22, 00, 00)
|
170
|
+
local = Time.new(2014, 4, 5, 15, 00, 00, '-07:00')
|
172
171
|
assert_equal local.to_s, zone.time_with_offset(utc).to_s
|
173
172
|
end
|
174
173
|
|
175
174
|
def test_australian_timezone_with_dst
|
176
|
-
timezone = Timezone::Zone.new :
|
175
|
+
timezone = Timezone::Zone.new zone: 'Australia/Adelaide'
|
177
176
|
utc = Time.utc(2010, 12, 23, 19, 37, 15)
|
178
177
|
local = Time.utc(2010, 12, 24, 6, 7, 15)
|
179
178
|
assert_equal local.to_i, timezone.time(utc).to_i
|
180
179
|
end
|
181
180
|
|
182
181
|
def test_local_to_utc
|
183
|
-
timezone = Timezone::Zone.new(:
|
182
|
+
timezone = Timezone::Zone.new(zone: 'America/Los_Angeles')
|
184
183
|
|
185
184
|
# Time maps to two rules - we pick the first
|
186
|
-
local = Time.utc(2015,11,1,1,50,0)
|
187
|
-
utc = Time.utc(2015,11,1,8,50,0)
|
185
|
+
local = Time.utc(2015, 11, 1, 1, 50, 0)
|
186
|
+
utc = Time.utc(2015, 11, 1, 8, 50, 0)
|
188
187
|
assert_equal(utc.to_s, timezone.local_to_utc(local).to_s)
|
189
188
|
|
190
189
|
# Time is above the maximum - we pick the last rule
|
191
|
-
local = Time.utc(3000,1,1,0,0,0)
|
192
|
-
utc = Time.utc(3000,1,1,8,0,0)
|
190
|
+
local = Time.utc(3000, 1, 1, 0, 0, 0)
|
191
|
+
utc = Time.utc(3000, 1, 1, 8, 0, 0)
|
193
192
|
assert_equal(utc.to_s, timezone.local_to_utc(local).to_s)
|
194
193
|
|
195
194
|
# Time maps to a single rule - we pick that rule
|
196
|
-
local = Time.utc(2015,11,1,0,1,0)
|
197
|
-
utc = Time.utc(2015,11,1,7,1,0)
|
195
|
+
local = Time.utc(2015, 11, 1, 0, 1, 0)
|
196
|
+
utc = Time.utc(2015, 11, 1, 7, 1, 0)
|
198
197
|
assert_equal(utc.to_s, timezone.local_to_utc(local).to_s)
|
199
198
|
|
200
199
|
# Time is missing - we pick the first closest rule
|
201
|
-
local = Time.utc(2015,3,8,2,50,0)
|
202
|
-
utc = Time.utc(2015,3,8,9,50,0)
|
200
|
+
local = Time.utc(2015, 3, 8, 2, 50, 0)
|
201
|
+
utc = Time.utc(2015, 3, 8, 9, 50, 0)
|
203
202
|
assert_equal(utc.to_s, timezone.local_to_utc(local).to_s)
|
204
203
|
end
|
205
204
|
|
206
205
|
def test_configure_url_default
|
207
|
-
Timezone::Configure.begin{ |c| c.google_api_key = nil }
|
206
|
+
Timezone::Configure.begin { |c| c.google_api_key = nil }
|
208
207
|
assert_equal 'api.geonames.org', Timezone::Configure.url
|
209
208
|
end
|
210
209
|
|
211
210
|
def test_configure_url_custom
|
212
211
|
Timezone::Configure.begin { |c| c.google_api_key = nil }
|
213
|
-
Timezone::Configure.begin
|
212
|
+
Timezone::Configure.begin do |c|
|
213
|
+
c.geonames_url = 'www.newtimezoneserver.com'
|
214
|
+
end
|
214
215
|
assert_equal 'www.newtimezoneserver.com', Timezone::Configure.url
|
215
216
|
# clean up url after test
|
216
217
|
Timezone::Configure.begin { |c| c.geonames_url = nil }
|
217
218
|
end
|
218
219
|
|
219
220
|
def test_utc_offset_without_dst
|
220
|
-
timezone = Timezone::Zone.new :
|
221
|
+
timezone = Timezone::Zone.new zone: 'Europe/Helsinki'
|
221
222
|
# just before DST starts
|
222
223
|
utc = Time.utc(2012, 3, 25, 0, 59, 59)
|
223
224
|
assert_equal timezone.utc_offset(utc), 7200
|
@@ -227,25 +228,25 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
227
228
|
end
|
228
229
|
|
229
230
|
def test_utc_offset_with_dst
|
230
|
-
timezone = Timezone::Zone.new :
|
231
|
+
timezone = Timezone::Zone.new zone: 'Europe/Helsinki'
|
231
232
|
# on the second DST starts
|
232
233
|
utc = Time.utc(2012, 3, 25, 1, 0, 0)
|
233
|
-
assert_equal timezone.utc_offset(utc),
|
234
|
+
assert_equal timezone.utc_offset(utc), 10_800
|
234
235
|
# right before DST end
|
235
236
|
utc = Time.utc(2012, 10, 28, 0, 59, 59)
|
236
|
-
assert_equal timezone.utc_offset(utc),
|
237
|
+
assert_equal timezone.utc_offset(utc), 10_800
|
237
238
|
end
|
238
239
|
|
239
240
|
def test_active_support_timezone
|
240
|
-
timezone = Timezone::Zone.new(:
|
241
|
+
timezone = Timezone::Zone.new(zone: 'Australia/Adelaide')
|
241
242
|
assert_equal 'Australia/Adelaide', timezone.zone
|
242
243
|
assert_equal 'Adelaide', timezone.active_support_time_zone
|
243
244
|
|
244
|
-
timezone = Timezone::Zone.new(:
|
245
|
+
timezone = Timezone::Zone.new(zone: 'America/Phoenix')
|
245
246
|
assert_equal 'America/Phoenix', timezone.zone
|
246
247
|
assert_equal 'Arizona', timezone.active_support_time_zone
|
247
248
|
|
248
|
-
timezone = Timezone::Zone.new(:
|
249
|
+
timezone = Timezone::Zone.new(zone: 'America/Anchorage')
|
249
250
|
assert_equal 'America/Anchorage', timezone.zone
|
250
251
|
assert_equal 'America/Anchorage', timezone.active_support_time_zone
|
251
252
|
end
|
@@ -259,7 +260,7 @@ class TimezoneTest < ::Minitest::Unit::TestCase
|
|
259
260
|
].freeze
|
260
261
|
|
261
262
|
def check_equivalence(zone, time, other)
|
262
|
-
tz = Timezone::Zone.new(:
|
263
|
+
tz = Timezone::Zone.new(zone: zone)
|
263
264
|
|
264
265
|
EQUIVALENCE_METHODS.each do |m|
|
265
266
|
assert_equal(tz.public_send(m, time), tz.public_send(m, other))
|
data/timezone.gemspec
CHANGED
@@ -1,30 +1,31 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path(
|
3
|
-
require
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
require 'timezone/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'timezone'
|
7
7
|
s.version = Timezone::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = [
|
10
|
-
s.email = [
|
11
|
-
s.homepage =
|
9
|
+
s.authors = ['Pan Thomakos']
|
10
|
+
s.email = ['pan.thomakos@gmail.com']
|
11
|
+
s.homepage = 'http://github.com/panthomakos/timezone'
|
12
12
|
s.summary = "timezone-#{Timezone::VERSION}"
|
13
|
-
s.description = %q{A simple way to get accurate current and historical timezone information based on zone or latitude and longitude coordinates. This gem uses the tz database (http://www.twinsun.com/tz/tz-link.htm) for historical timezone information. It also uses either the geonames API (http://www.geonames.org/export/web-services.html) or Google timezone API (https://developers.google.com/maps/documentation/timezone/) for timezone latitude and longitude lookup.}
|
14
13
|
s.license = 'MIT'
|
14
|
+
s.description = 'Accurate current and historical timezones for Ruby with ' \
|
15
|
+
'support for Geonames and Google latitude - longitude lookups.'
|
15
16
|
|
16
|
-
s.rubyforge_project =
|
17
|
+
s.rubyforge_project = 'timezone'
|
17
18
|
|
18
19
|
s.files = `git ls-files`.split("\n")
|
19
20
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
-
s.executables = `git ls-files -- bin
|
21
|
+
s.executables = `git ls-files -- bin/*`
|
22
|
+
.split("\n").map { |f| File.basename(f) }
|
21
23
|
s.extra_rdoc_files = ['README.markdown', 'License.txt']
|
22
24
|
s.rdoc_options = ['--charset=UTF-8']
|
23
|
-
s.require_paths = [
|
25
|
+
s.require_paths = ['lib']
|
24
26
|
|
25
|
-
s.add_development_dependency('rake')
|
26
|
-
s.add_development_dependency('minitest', '~>
|
27
|
-
s.add_development_dependency('rubocop')
|
28
|
-
s.add_development_dependency('timecop')
|
29
|
-
s.add_development_dependency('mocha')
|
27
|
+
s.add_development_dependency('rake', '~> 10.5')
|
28
|
+
s.add_development_dependency('minitest', '~> 5.8')
|
29
|
+
s.add_development_dependency('rubocop', '~> 0.37')
|
30
|
+
s.add_development_dependency('timecop', '~> 0.8')
|
30
31
|
end
|
metadata
CHANGED
@@ -1,91 +1,73 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timezone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.99.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pan Thomakos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '10.5'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '10.5'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '5.8'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '5.8'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubocop
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '0.37'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '0.37'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: timecop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: mocha
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
59
|
+
- - "~>"
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
61
|
+
version: '0.8'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- - "
|
66
|
+
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
description:
|
84
|
-
|
85
|
-
(http://www.twinsun.com/tz/tz-link.htm) for historical timezone information. It
|
86
|
-
also uses either the geonames API (http://www.geonames.org/export/web-services.html)
|
87
|
-
or Google timezone API (https://developers.google.com/maps/documentation/timezone/)
|
88
|
-
for timezone latitude and longitude lookup.
|
68
|
+
version: '0.8'
|
69
|
+
description: Accurate current and historical timezones for Ruby with support for Geonames
|
70
|
+
and Google latitude - longitude lookups.
|
89
71
|
email:
|
90
72
|
- pan.thomakos@gmail.com
|
91
73
|
executables: []
|
@@ -96,7 +78,6 @@ extra_rdoc_files:
|
|
96
78
|
files:
|
97
79
|
- ".gitignore"
|
98
80
|
- ".rubocop.yml"
|
99
|
-
- ".rubocop_todo.yml"
|
100
81
|
- ".travis.yml"
|
101
82
|
- CHANGES.markdown
|
102
83
|
- CONTRIBUTING.markdown
|
@@ -692,6 +673,7 @@ files:
|
|
692
673
|
- lib/timezone.rb
|
693
674
|
- lib/timezone/active_support.rb
|
694
675
|
- lib/timezone/configure.rb
|
676
|
+
- lib/timezone/deprecate.rb
|
695
677
|
- lib/timezone/error.rb
|
696
678
|
- lib/timezone/loader.rb
|
697
679
|
- lib/timezone/lookup.rb
|
@@ -700,6 +682,7 @@ files:
|
|
700
682
|
- lib/timezone/lookup/google.rb
|
701
683
|
- lib/timezone/lookup/test.rb
|
702
684
|
- lib/timezone/net_http_client.rb
|
685
|
+
- lib/timezone/nil_zone.rb
|
703
686
|
- lib/timezone/parser.rb
|
704
687
|
- lib/timezone/version.rb
|
705
688
|
- lib/timezone/zone.rb
|
@@ -714,6 +697,15 @@ files:
|
|
714
697
|
- test/mocks/google_request_denied.txt
|
715
698
|
- test/mocks/lat_lon_coords.txt
|
716
699
|
- test/test_lookup_test.rb
|
700
|
+
- test/test_timezone.rb
|
701
|
+
- test/timezone/lookup/test_geonames.rb
|
702
|
+
- test/timezone/lookup/test_google.rb
|
703
|
+
- test/timezone/lookup/test_test.rb
|
704
|
+
- test/timezone/test_deprecate.rb
|
705
|
+
- test/timezone/test_loader.rb
|
706
|
+
- test/timezone/test_lookup.rb
|
707
|
+
- test/timezone/test_nil_zone.rb
|
708
|
+
- test/timezone/test_zone.rb
|
717
709
|
- test/timezone_test.rb
|
718
710
|
- timezone.gemspec
|
719
711
|
homepage: http://github.com/panthomakos/timezone
|
@@ -740,7 +732,7 @@ rubyforge_project: timezone
|
|
740
732
|
rubygems_version: 2.4.5.1
|
741
733
|
signing_key:
|
742
734
|
specification_version: 4
|
743
|
-
summary: timezone-0.
|
735
|
+
summary: timezone-0.99.0
|
744
736
|
test_files:
|
745
737
|
- test/basic_lookup_test.rb
|
746
738
|
- test/data/Helsinki_rules_without_timestamps.json
|
@@ -753,5 +745,14 @@ test_files:
|
|
753
745
|
- test/mocks/google_request_denied.txt
|
754
746
|
- test/mocks/lat_lon_coords.txt
|
755
747
|
- test/test_lookup_test.rb
|
748
|
+
- test/test_timezone.rb
|
749
|
+
- test/timezone/lookup/test_geonames.rb
|
750
|
+
- test/timezone/lookup/test_google.rb
|
751
|
+
- test/timezone/lookup/test_test.rb
|
752
|
+
- test/timezone/test_deprecate.rb
|
753
|
+
- test/timezone/test_loader.rb
|
754
|
+
- test/timezone/test_lookup.rb
|
755
|
+
- test/timezone/test_nil_zone.rb
|
756
|
+
- test/timezone/test_zone.rb
|
756
757
|
- test/timezone_test.rb
|
757
758
|
has_rdoc:
|