zipfips 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,3 @@
1
+ module ZipFips
2
+ VERSION = "0.1.0"
3
+ end
data/lib/zipfips.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'zipfips/version'
2
+ require 'zipfips/handler'
@@ -0,0 +1,5 @@
1
+ require 'rspec'
2
+ require 'pry'
3
+ require 'zipfips'
4
+
5
+ include ZipFips
@@ -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