timezone 0.6.0 → 0.99.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|