ziptz 2.1.8 → 3.0.18
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/LICENSE +1 -1
- data/README.md +104 -20
- data/data/tz.data +0 -0
- data/data/tzm.data +0 -0
- data/lib/ziptz.rb +47 -43
- data/spec/ziptz_spec.rb +16 -2
- data/ziptz.gemspec +2 -2
- metadata +7 -14
- data/Gemfile +0 -18
- data/Gemfile.lock +0 -123
- data/Gemfile.travis +0 -7
- data/Guardfile +0 -8
- data/Rakefile +0 -24
- data/data/dst.data +0 -41699
- data/database.yml +0 -3
- data/lib/zip_code.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8584f30a48d305cf57165059fdf89bc90ff1169b540b07e4810dd08facf3bb76
|
4
|
+
data.tar.gz: 974d31d4c7ab3f17e7e5bf86d875eca5b29f9d44087a09ae9b83c4694fd68945
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e12dbe849abc336a65894be858be518433b97b9b9ac2622581534b7da9078de2f10fe21270dfed58cee58bb7a0f2003f40f86d9d3e1dcf662cad952dd2e41e20
|
7
|
+
data.tar.gz: dd9b487f4a8a868e07c39837732433662879696f12378666d700a69ed561743e47dd5a0bd607b87e381b7abe63ffe6d36ebfba61a7efc848e95fedfd7cf4f0f8
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
# Ziptz
|
2
2
|
[](https://rubygems.org/gems/ziptz)
|
3
|
-
[](https://github.com/infused/ziptz/actions/workflows/build.yml)
|
4
4
|
[](https://rubygems.org/gems/ziptz/)
|
5
5
|
[](https://github.com/infused/ziptz)
|
6
6
|
|
7
|
-
Get time zone
|
7
|
+
Get time zone, daylight saving time, and base offset for any US ZIP code.
|
8
8
|
|
9
|
-
<i>ZIP codes are up to date as of <b>July
|
9
|
+
<i>ZIP codes are up to date as of <b>July 2023</b>.</i>
|
10
|
+
|
11
|
+
## Compatibility
|
12
|
+
|
13
|
+
Ziptz is tested to work with the following versions of Ruby:
|
14
|
+
|
15
|
+
* Ruby 2.3.x, 2.4.x, 2.5.x, 2.6.x, 2.7.x, 3.x
|
10
16
|
|
11
17
|
## Installation
|
12
18
|
|
@@ -24,7 +30,7 @@ Get the time zone name for any ZIP code:
|
|
24
30
|
|
25
31
|
Get the time zone offset for any ZIP code:
|
26
32
|
|
27
|
-
z.time_zone_offset('97213') #=> -
|
33
|
+
z.time_zone_offset('97213') #=> -28800
|
28
34
|
|
29
35
|
<em>Note that offsets do not include daylight saving time.</em>
|
30
36
|
|
@@ -34,28 +40,106 @@ Determine if the ZIP code uses Daylight Saving Time:
|
|
34
40
|
|
35
41
|
Get all the zip codes in a time zone:
|
36
42
|
|
37
|
-
z.zips('Pacific/
|
43
|
+
z.zips('Pacific/Chuuk') #=> ["96942", "96943"]
|
38
44
|
|
39
45
|
|
40
46
|
## Supported Time Zones
|
41
47
|
|
42
|
-
*
|
43
|
-
*
|
44
|
-
*
|
45
|
-
*
|
46
|
-
*
|
47
|
-
*
|
48
|
-
*
|
49
|
-
*
|
50
|
-
*
|
51
|
-
*
|
52
|
-
*
|
53
|
-
*
|
54
|
-
*
|
55
|
-
*
|
48
|
+
* America/Adak
|
49
|
+
* America/Anchorage
|
50
|
+
* America/Boise
|
51
|
+
* America/Chicago
|
52
|
+
* America/Denver
|
53
|
+
* America/Detroit
|
54
|
+
* America/Indiana/Indianapolis
|
55
|
+
* America/Indiana/Knox
|
56
|
+
* America/Indiana/Marengo
|
57
|
+
* America/Indiana/Petersburg
|
58
|
+
* America/Indiana/Tell_City
|
59
|
+
* America/Indiana/Vevay
|
60
|
+
* America/Indiana/Vincennes
|
61
|
+
* America/Indiana/Winamac
|
62
|
+
* America/Juneau
|
63
|
+
* America/Kentucky/Louisville
|
64
|
+
* America/Kentucky/Monticello
|
65
|
+
* America/Los_Angeles
|
66
|
+
* America/Menominee
|
67
|
+
* America/Metlakatla
|
68
|
+
* America/New_York
|
69
|
+
* America/Nome
|
70
|
+
* America/North_Dakota/Beulah
|
71
|
+
* America/North_Dakota/Center
|
72
|
+
* America/North_Dakota/New_Salem
|
73
|
+
* America/Phoenix
|
74
|
+
* America/Puerto_Rico
|
75
|
+
* America/Sitka
|
76
|
+
* America/St_Thomas
|
77
|
+
* America/Yakutat
|
78
|
+
* Pacific/Chuuk
|
79
|
+
* Pacific/Guam
|
80
|
+
* Pacific/Honolulu
|
81
|
+
* Pacific/Kosrae
|
82
|
+
* Pacific/Kwajalein
|
83
|
+
* Pacific/Majuro
|
84
|
+
* Pacific/Pago_Pago
|
85
|
+
* Pacific/Palau
|
86
|
+
* Pacific/Pohnpei
|
87
|
+
* Pacific/Saipan
|
88
|
+
* Pacific/Wake
|
56
89
|
|
57
90
|
<em>Note that APO/FPO zip codes will not return a known time zone offset.</em>
|
58
91
|
|
92
|
+
## Prefer raw data?
|
93
|
+
|
94
|
+
If you would prefer raw data instead of a gem, see my [ZIP Code Time Zones](https://us-west-2.console.aws.amazon.com/dataexchange/home#/products/prodview-4vcapflqwntdw) product on AWS Data Exchange to subscribe.
|
95
|
+
|
96
|
+
## Version 3 breaking changes
|
97
|
+
|
98
|
+
* APO, DPO, and FPO zip codes are no longer included, because they are non-geographic.
|
99
|
+
* Time zone offsets are now specified in seconds instead of hours.
|
100
|
+
* Time zone are now more granular. The full list of time zones is:
|
101
|
+
* America/Adak
|
102
|
+
* America/Anchorage
|
103
|
+
* America/Boise
|
104
|
+
* America/Chicago
|
105
|
+
* America/Denver
|
106
|
+
* America/Detroit
|
107
|
+
* America/Indiana/Indianapolis
|
108
|
+
* America/Indiana/Knox
|
109
|
+
* America/Indiana/Marengo
|
110
|
+
* America/Indiana/Petersburg
|
111
|
+
* America/Indiana/Tell_City
|
112
|
+
* America/Indiana/Vevay
|
113
|
+
* America/Indiana/Vincennes
|
114
|
+
* America/Indiana/Winamac
|
115
|
+
* America/Juneau
|
116
|
+
* America/Kentucky/Louisville
|
117
|
+
* America/Kentucky/Monticello
|
118
|
+
* America/Los_Angeles
|
119
|
+
* America/Menominee
|
120
|
+
* America/Metlakatla
|
121
|
+
* America/New_York
|
122
|
+
* America/Nome
|
123
|
+
* America/North_Dakota/Beulah
|
124
|
+
* America/North_Dakota/Center
|
125
|
+
* America/North_Dakota/New_Salem
|
126
|
+
* America/Phoenix
|
127
|
+
* America/Puerto_Rico
|
128
|
+
* America/Sitka
|
129
|
+
* America/St_Thomas
|
130
|
+
* America/Yakutat
|
131
|
+
* Pacific/Chuuk
|
132
|
+
* Pacific/Guam
|
133
|
+
* Pacific/Honolulu
|
134
|
+
* Pacific/Kosrae
|
135
|
+
* Pacific/Kwajalein
|
136
|
+
* Pacific/Majuro
|
137
|
+
* Pacific/Pago_Pago
|
138
|
+
* Pacific/Palau
|
139
|
+
* Pacific/Pohnpei
|
140
|
+
* Pacific/Saipan
|
141
|
+
* Pacific/Wake
|
142
|
+
|
59
143
|
## Version 2 breaking changes
|
60
144
|
|
61
145
|
Time zone names now reflect standard tz-database names.
|
@@ -76,7 +160,7 @@ Time zone names now reflect standard tz-database names.
|
|
76
160
|
|
77
161
|
## License
|
78
162
|
|
79
|
-
Copyright (c) 2015-
|
163
|
+
Copyright (c) 2015-2023 Keith Morrison <<keithm@infused.org>>
|
80
164
|
|
81
165
|
Permission is hereby granted, free of charge, to any person
|
82
166
|
obtaining a copy of this software and associated documentation
|
data/data/tz.data
CHANGED
Binary file
|
data/data/tzm.data
ADDED
Binary file
|
data/lib/ziptz.rb
CHANGED
@@ -1,41 +1,37 @@
|
|
1
1
|
require 'yaml'
|
2
|
+
require 'zlib'
|
2
3
|
|
3
4
|
class Ziptz
|
4
|
-
VERSION = '
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
'5' => {name: 'America/New_York', offset: -5},
|
10
|
-
'6' => {name: 'America/Chicago', offset: -6},
|
11
|
-
'7' => {name: 'America/Denver', offset: -7},
|
12
|
-
'8' => {name: 'America/Los_Angeles', offset: -8},
|
13
|
-
'9' => {name: 'America/Anchorage', offset: -9},
|
14
|
-
'10' => {name: 'Pacific/Honolulu', offset: -10},
|
15
|
-
'11' => {name: 'Pacific/Pago_Pago', offset: -11},
|
16
|
-
'13' => {name: 'Pacific/Majuro', offset: 12},
|
17
|
-
'14' => {name: 'Pacific/Guam', offset: 10},
|
18
|
-
'15' => {name: 'Pacific/Palau', offset: 9},
|
19
|
-
'16' => {name: 'Pacific/Pohnpei', offset: 11},
|
20
|
-
'AZ' => {name: 'America/Phoenix', offset: -7},
|
21
|
-
'AD' => {name: 'America/Adak', offset: -10}
|
22
|
-
}.freeze
|
5
|
+
VERSION = '3.0.18'.freeze
|
6
|
+
|
7
|
+
def self.instance
|
8
|
+
@instance ||= new
|
9
|
+
end
|
23
10
|
|
24
11
|
def time_zone_name(zip)
|
25
|
-
|
12
|
+
tz_info = time_zone_info(zip)
|
13
|
+
return unless tz_info
|
14
|
+
|
15
|
+
tz_info[:tz]
|
26
16
|
end
|
27
17
|
|
28
18
|
def time_zone_offset(zip)
|
29
|
-
|
30
|
-
|
19
|
+
tz_info = time_zone_info(zip)
|
20
|
+
return unless tz_info
|
21
|
+
|
22
|
+
tzm_info = tzm[tz_info[:tz]]
|
23
|
+
tzm_info[:offset] && tzm_info[:offset].to_i
|
31
24
|
end
|
32
25
|
|
33
26
|
def time_zone_uses_dst?(zip)
|
34
|
-
|
27
|
+
tz_info = time_zone_info(zip)
|
28
|
+
return unless tz_info
|
29
|
+
|
30
|
+
tz_info[:dst]
|
35
31
|
end
|
36
32
|
|
37
33
|
def zips(tz_name)
|
38
|
-
|
34
|
+
tz.select { |_, v| v[:tz].downcase == tz_name.downcase }.keys
|
39
35
|
end
|
40
36
|
|
41
37
|
def inspect
|
@@ -44,45 +40,53 @@ class Ziptz
|
|
44
40
|
|
45
41
|
protected
|
46
42
|
|
47
|
-
def
|
48
|
-
@
|
43
|
+
def tzm
|
44
|
+
@tzm ||= load_tzm_data
|
49
45
|
end
|
50
46
|
|
51
|
-
def
|
52
|
-
@
|
47
|
+
def lazy_tz
|
48
|
+
@lazy_tz ||= lazy_load_tz_data
|
53
49
|
end
|
54
50
|
|
55
|
-
def
|
56
|
-
tz
|
51
|
+
def tz
|
52
|
+
@tz ||= load_tz_data
|
57
53
|
end
|
58
54
|
|
59
55
|
def time_zone_info(zip)
|
60
|
-
|
56
|
+
if (data = lazy_tz[zip.to_s.slice(0, 5)])
|
57
|
+
_, tz, dst = data.strip.split('|')
|
58
|
+
{tz: tz, dst: dst == '1'}
|
59
|
+
end
|
61
60
|
end
|
62
61
|
|
63
|
-
def
|
64
|
-
|
62
|
+
def tzm_data_path
|
63
|
+
File.join(File.dirname(__FILE__), '..', 'data', 'tzm.data')
|
65
64
|
end
|
66
65
|
|
67
66
|
def tz_data_path
|
68
67
|
File.join(File.dirname(__FILE__), '..', 'data', 'tz.data')
|
69
68
|
end
|
70
69
|
|
71
|
-
def
|
72
|
-
File.
|
73
|
-
|
74
|
-
data[
|
70
|
+
def lazy_load_tz_data
|
71
|
+
uncompressed = Zlib::Inflate.inflate(File.read(tz_data_path, encoding: 'ASCII-8BIT'))
|
72
|
+
uncompressed.each_line.with_object({}) do |line, data|
|
73
|
+
data[line.slice(0, 5)] = line
|
75
74
|
end
|
76
75
|
end
|
77
76
|
|
78
|
-
def
|
79
|
-
|
77
|
+
def load_tz_data
|
78
|
+
uncompressed = Zlib::Inflate.inflate(File.read(tz_data_path, encoding: 'ASCII-8BIT'))
|
79
|
+
uncompressed.each_line.with_object({}) do |line, data|
|
80
|
+
zip, tz, dst = line.strip.split('|')
|
81
|
+
data[zip] = {tz: tz, dst: dst == '1'}
|
82
|
+
end
|
80
83
|
end
|
81
84
|
|
82
|
-
def
|
83
|
-
|
84
|
-
|
85
|
-
|
85
|
+
def load_tzm_data
|
86
|
+
uncompressed = Zlib::Inflate.inflate(File.read(tzm_data_path, encoding: 'ASCII-8BIT'))
|
87
|
+
uncompressed.each_line.with_object({}) do |line, data|
|
88
|
+
tz, offset = line.strip.split('|')
|
89
|
+
data[tz] = {offset: offset}
|
86
90
|
end
|
87
91
|
end
|
88
92
|
end
|
data/spec/ziptz_spec.rb
CHANGED
@@ -74,13 +74,13 @@ RSpec.describe Ziptz do
|
|
74
74
|
describe '#time_zone_offset' do
|
75
75
|
context 'when given a 5-digit zipcode' do
|
76
76
|
it 'returns the time zone number' do
|
77
|
-
expect(ziptz.time_zone_offset('97034')).to eq(-
|
77
|
+
expect(ziptz.time_zone_offset('97034')).to eq(-28800)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
81
|
context 'when given a 9-digit zipcode' do
|
82
82
|
it 'returns the time zone number' do
|
83
|
-
expect(ziptz.time_zone_offset('97034-1234')).to eq(-
|
83
|
+
expect(ziptz.time_zone_offset('97034-1234')).to eq(-28800)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
@@ -106,4 +106,18 @@ RSpec.describe Ziptz do
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
end
|
109
|
+
|
110
|
+
describe '#instance' do
|
111
|
+
context 'when given a 5 digit zip code' do
|
112
|
+
it 'matches the behavior of Ziptz.new' do
|
113
|
+
expect(Ziptz.instance.time_zone_name('97034')).to eq ziptz.time_zone_name('97034')
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context 'when called twice' do
|
118
|
+
it 'returns identical instances' do
|
119
|
+
expect(Ziptz.instance.object_id).to eq Ziptz.instance.object_id
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
109
123
|
end
|
data/ziptz.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
|
14
14
|
s.rdoc_options = ['--charset=UTF-8']
|
15
15
|
s.extra_rdoc_files = ['README.md', 'LICENSE']
|
16
|
-
s.files = Dir['
|
17
|
-
s.test_files = Dir.glob('spec/**/*_spec.rb')
|
16
|
+
s.files = Dir['README.md', 'LICENSE', '{data,lib,spec}/**/*', 'ziptz.gemspec']
|
18
17
|
s.require_paths = ['lib']
|
19
18
|
s.required_ruby_version = '>= 2.0.0'
|
19
|
+
s.metadata['rubygems_mfa_required'] = 'true'
|
20
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ziptz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Get timezone info for all 5-digit US zip codes
|
14
14
|
email: keithm@infused.org
|
@@ -18,17 +18,10 @@ extra_rdoc_files:
|
|
18
18
|
- README.md
|
19
19
|
- LICENSE
|
20
20
|
files:
|
21
|
-
- Gemfile
|
22
|
-
- Gemfile.lock
|
23
|
-
- Gemfile.travis
|
24
|
-
- Guardfile
|
25
21
|
- LICENSE
|
26
22
|
- README.md
|
27
|
-
- Rakefile
|
28
|
-
- data/dst.data
|
29
23
|
- data/tz.data
|
30
|
-
-
|
31
|
-
- lib/zip_code.rb
|
24
|
+
- data/tzm.data
|
32
25
|
- lib/ziptz.rb
|
33
26
|
- spec/spec_helper.rb
|
34
27
|
- spec/ziptz_spec.rb
|
@@ -36,7 +29,8 @@ files:
|
|
36
29
|
homepage: http://github.com/infused/ziptz
|
37
30
|
licenses:
|
38
31
|
- MIT
|
39
|
-
metadata:
|
32
|
+
metadata:
|
33
|
+
rubygems_mfa_required: 'true'
|
40
34
|
post_install_message:
|
41
35
|
rdoc_options:
|
42
36
|
- "--charset=UTF-8"
|
@@ -53,9 +47,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '0'
|
55
49
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
50
|
+
rubygems_version: 3.4.10
|
57
51
|
signing_key:
|
58
52
|
specification_version: 4
|
59
53
|
summary: TimeZone info for any 5-digit US zip code
|
60
|
-
test_files:
|
61
|
-
- spec/ziptz_spec.rb
|
54
|
+
test_files: []
|
data/Gemfile
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
gemspec
|
2
|
-
source 'https://rubygems.org'
|
3
|
-
|
4
|
-
group :development, :test do
|
5
|
-
gem 'activerecord'
|
6
|
-
gem 'bundler'
|
7
|
-
gem 'byebug'
|
8
|
-
gem 'guard'
|
9
|
-
gem 'guard-rspec'
|
10
|
-
gem 'irb'
|
11
|
-
gem 'mysql2'
|
12
|
-
gem 'rake'
|
13
|
-
gem 'rspec'
|
14
|
-
gem 'rubocop'
|
15
|
-
gem 'rubocop-performance'
|
16
|
-
gem 'rubocop-rspec'
|
17
|
-
gem 'tty-spinner'
|
18
|
-
end
|
data/Gemfile.lock
DELETED
@@ -1,123 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
ziptz (2.1.8)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
activemodel (6.0.0)
|
10
|
-
activesupport (= 6.0.0)
|
11
|
-
activerecord (6.0.0)
|
12
|
-
activemodel (= 6.0.0)
|
13
|
-
activesupport (= 6.0.0)
|
14
|
-
activesupport (6.0.0)
|
15
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
16
|
-
i18n (>= 0.7, < 2)
|
17
|
-
minitest (~> 5.1)
|
18
|
-
tzinfo (~> 1.1)
|
19
|
-
zeitwerk (~> 2.1, >= 2.1.8)
|
20
|
-
ast (2.4.0)
|
21
|
-
byebug (11.0.1)
|
22
|
-
coderay (1.1.2)
|
23
|
-
concurrent-ruby (1.1.5)
|
24
|
-
diff-lcs (1.3)
|
25
|
-
ffi (1.11.1)
|
26
|
-
formatador (0.2.5)
|
27
|
-
guard (2.15.1)
|
28
|
-
formatador (>= 0.2.4)
|
29
|
-
listen (>= 2.7, < 4.0)
|
30
|
-
lumberjack (>= 1.0.12, < 2.0)
|
31
|
-
nenv (~> 0.1)
|
32
|
-
notiffany (~> 0.0)
|
33
|
-
pry (>= 0.9.12)
|
34
|
-
shellany (~> 0.0)
|
35
|
-
thor (>= 0.18.1)
|
36
|
-
guard-compat (1.2.1)
|
37
|
-
guard-rspec (4.7.3)
|
38
|
-
guard (~> 2.1)
|
39
|
-
guard-compat (~> 1.1)
|
40
|
-
rspec (>= 2.99.0, < 4.0)
|
41
|
-
i18n (1.7.0)
|
42
|
-
concurrent-ruby (~> 1.0)
|
43
|
-
irb (1.0.0)
|
44
|
-
jaro_winkler (1.5.3)
|
45
|
-
listen (3.2.0)
|
46
|
-
rb-fsevent (~> 0.10, >= 0.10.3)
|
47
|
-
rb-inotify (~> 0.9, >= 0.9.10)
|
48
|
-
lumberjack (1.0.13)
|
49
|
-
method_source (0.9.2)
|
50
|
-
minitest (5.12.2)
|
51
|
-
mysql2 (0.5.2)
|
52
|
-
nenv (0.3.0)
|
53
|
-
notiffany (0.1.3)
|
54
|
-
nenv (~> 0.1)
|
55
|
-
shellany (~> 0.0)
|
56
|
-
parallel (1.18.0)
|
57
|
-
parser (2.6.5.0)
|
58
|
-
ast (~> 2.4.0)
|
59
|
-
pry (0.12.2)
|
60
|
-
coderay (~> 1.1.0)
|
61
|
-
method_source (~> 0.9.0)
|
62
|
-
rainbow (3.0.0)
|
63
|
-
rake (13.0.0)
|
64
|
-
rb-fsevent (0.10.3)
|
65
|
-
rb-inotify (0.10.0)
|
66
|
-
ffi (~> 1.0)
|
67
|
-
rspec (3.9.0)
|
68
|
-
rspec-core (~> 3.9.0)
|
69
|
-
rspec-expectations (~> 3.9.0)
|
70
|
-
rspec-mocks (~> 3.9.0)
|
71
|
-
rspec-core (3.9.0)
|
72
|
-
rspec-support (~> 3.9.0)
|
73
|
-
rspec-expectations (3.9.0)
|
74
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
75
|
-
rspec-support (~> 3.9.0)
|
76
|
-
rspec-mocks (3.9.0)
|
77
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
78
|
-
rspec-support (~> 3.9.0)
|
79
|
-
rspec-support (3.9.0)
|
80
|
-
rubocop (0.75.0)
|
81
|
-
jaro_winkler (~> 1.5.1)
|
82
|
-
parallel (~> 1.10)
|
83
|
-
parser (>= 2.6)
|
84
|
-
rainbow (>= 2.2.2, < 4.0)
|
85
|
-
ruby-progressbar (~> 1.7)
|
86
|
-
unicode-display_width (>= 1.4.0, < 1.7)
|
87
|
-
rubocop-performance (1.5.0)
|
88
|
-
rubocop (>= 0.71.0)
|
89
|
-
rubocop-rspec (1.36.0)
|
90
|
-
rubocop (>= 0.68.1)
|
91
|
-
ruby-progressbar (1.10.1)
|
92
|
-
shellany (0.0.1)
|
93
|
-
thor (0.20.3)
|
94
|
-
thread_safe (0.3.6)
|
95
|
-
tty-cursor (0.7.0)
|
96
|
-
tty-spinner (0.9.1)
|
97
|
-
tty-cursor (~> 0.7)
|
98
|
-
tzinfo (1.2.5)
|
99
|
-
thread_safe (~> 0.1)
|
100
|
-
unicode-display_width (1.6.0)
|
101
|
-
zeitwerk (2.1.10)
|
102
|
-
|
103
|
-
PLATFORMS
|
104
|
-
ruby
|
105
|
-
|
106
|
-
DEPENDENCIES
|
107
|
-
activerecord
|
108
|
-
bundler
|
109
|
-
byebug
|
110
|
-
guard
|
111
|
-
guard-rspec
|
112
|
-
irb
|
113
|
-
mysql2
|
114
|
-
rake
|
115
|
-
rspec
|
116
|
-
rubocop
|
117
|
-
rubocop-performance
|
118
|
-
rubocop-rspec
|
119
|
-
tty-spinner
|
120
|
-
ziptz!
|
121
|
-
|
122
|
-
BUNDLED WITH
|
123
|
-
2.1.0.pre.2
|
data/Gemfile.travis
DELETED
data/Guardfile
DELETED
data/Rakefile
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'bundler/setup'
|
2
|
-
Bundler.setup(:default, :development)
|
3
|
-
|
4
|
-
require 'rspec/core/rake_task'
|
5
|
-
RSpec::Core::RakeTask.new :spec do |t|
|
6
|
-
t.rspec_opts = %w[--color]
|
7
|
-
end
|
8
|
-
|
9
|
-
RSpec::Core::RakeTask.new :specdoc do |t|
|
10
|
-
t.rspec_opts = %w[-fl]
|
11
|
-
end
|
12
|
-
|
13
|
-
task default: :spec
|
14
|
-
|
15
|
-
desc 'Open an irb session preloaded with this library'
|
16
|
-
task :console do
|
17
|
-
sh 'irb -r rubygems -I lib -r ziptz.rb'
|
18
|
-
end
|
19
|
-
|
20
|
-
desc 'Create ziptz db from zipcodes database'
|
21
|
-
task :create_ziptz do
|
22
|
-
require 'zip_code'
|
23
|
-
ZipCode.import
|
24
|
-
end
|