zipfips 0.1.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 +7 -0
- data/.document +5 -0
- data/.gitignore +5 -0
- data/.rdoc_options +16 -0
- data/.rspec +1 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +20 -0
- data/README.md +27 -0
- data/Rakefile +25 -0
- data/lib/zipfips/data/data.json +1 -0
- data/lib/zipfips/handler.rb +29 -0
- data/lib/zipfips/version.rb +3 -0
- data/lib/zipfips.rb +2 -0
- data/spec/spec_helper.rb +5 -0
- data/spec/zipfips_spec.rb +15 -0
- data/zipfips.gemspec +37 -0
- metadata +130 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module ZipFips
|
4
|
+
class Handler
|
5
|
+
def is_zip?(code)
|
6
|
+
!!zips_hash[code.to_s] && !is_fips(code)
|
7
|
+
end
|
8
|
+
|
9
|
+
def is_fips?(code)
|
10
|
+
!!fips_hash[code.to_s] && !is_zip(code)
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_zip(code)
|
14
|
+
fips_hash[code.to_s].to_i
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_fips(code)
|
18
|
+
zips_hash[code.to_s].to_i
|
19
|
+
end
|
20
|
+
|
21
|
+
def fips_hash
|
22
|
+
@fips_hash ||= JSON.parse(File.open("#{File.dirname(__FILE__)}/data/data.json", "r").read)
|
23
|
+
end
|
24
|
+
|
25
|
+
def zips_hash
|
26
|
+
@zips_hash ||= fips_hash.invert
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/zipfips.rb
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ZipFips do
|
4
|
+
before do
|
5
|
+
ZF ||= ZipFips::Handler.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should return the proper FIPS code for a ZIP code" do
|
9
|
+
ZF.to_zip(12345).should == 36093
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should return the proper ZIP code for a FIPS code" do
|
13
|
+
ZF.to_fips(36093).should == 12345
|
14
|
+
end
|
15
|
+
end
|
data/zipfips.gemspec
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'zipfips/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |gem|
|
8
|
+
gem.name = "zipfips"
|
9
|
+
gem.version = ZipFips::VERSION
|
10
|
+
gem.summary = "Easily convert between ZIP codes and FIPS codes"
|
11
|
+
gem.description = "ZIP to FIPS and FIPS to ZIP"
|
12
|
+
gem.license = "MIT"
|
13
|
+
gem.authors = ["Bryce Dorn"]
|
14
|
+
gem.email = "brycedorn@gmail.com"
|
15
|
+
gem.homepage = "https://rubygems.org/gems/zipfips"
|
16
|
+
|
17
|
+
gem.files = `git ls-files`.split($/)
|
18
|
+
|
19
|
+
`git submodule --quiet foreach --recursive pwd`.split($/).each do |submodule|
|
20
|
+
submodule.sub!("#{Dir.pwd}/",'')
|
21
|
+
|
22
|
+
Dir.chdir(submodule) do
|
23
|
+
`git ls-files`.split($/).map do |subpath|
|
24
|
+
gem.files << File.join(submodule,subpath)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
29
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
30
|
+
gem.require_paths = ['lib']
|
31
|
+
|
32
|
+
gem.add_development_dependency 'bundler', '~> 1.10'
|
33
|
+
gem.add_development_dependency 'rake', '~> 10.0'
|
34
|
+
gem.add_development_dependency 'rdoc', '~> 4.0'
|
35
|
+
gem.add_development_dependency 'rspec', '~> 3.0'
|
36
|
+
gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: zipfips
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Bryce Dorn
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-10-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.10'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rdoc
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubygems-tasks
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.2'
|
83
|
+
description: ZIP to FIPS and FIPS to ZIP
|
84
|
+
email: brycedorn@gmail.com
|
85
|
+
executables: []
|
86
|
+
extensions: []
|
87
|
+
extra_rdoc_files: []
|
88
|
+
files:
|
89
|
+
- ".document"
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rdoc_options"
|
92
|
+
- ".rspec"
|
93
|
+
- Gemfile
|
94
|
+
- LICENSE.txt
|
95
|
+
- README.md
|
96
|
+
- Rakefile
|
97
|
+
- lib/zipfips.rb
|
98
|
+
- lib/zipfips/data/data.json
|
99
|
+
- lib/zipfips/handler.rb
|
100
|
+
- lib/zipfips/version.rb
|
101
|
+
- spec/spec_helper.rb
|
102
|
+
- spec/zipfips_spec.rb
|
103
|
+
- zipfips.gemspec
|
104
|
+
homepage: https://rubygems.org/gems/zipfips
|
105
|
+
licenses:
|
106
|
+
- MIT
|
107
|
+
metadata: {}
|
108
|
+
post_install_message:
|
109
|
+
rdoc_options: []
|
110
|
+
require_paths:
|
111
|
+
- lib
|
112
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
requirements: []
|
123
|
+
rubyforge_project:
|
124
|
+
rubygems_version: 2.4.8
|
125
|
+
signing_key:
|
126
|
+
specification_version: 4
|
127
|
+
summary: Easily convert between ZIP codes and FIPS codes
|
128
|
+
test_files:
|
129
|
+
- spec/spec_helper.rb
|
130
|
+
- spec/zipfips_spec.rb
|