StreetAddress 1.0.6 → 2.0.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.
metadata CHANGED
@@ -1,17 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: StreetAddress
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derrek Long
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2014-12-21 00:00:00.000000000 Z
12
- dependencies: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bundler
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '13.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '13.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: minitest
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '5.0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: irb
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.14'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.14'
68
+ - !ruby/object:Gem::Dependency
69
+ name: rdoc
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '6.0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '6.0'
13
82
  description: |
14
- StreetAddress::US allows you to send any string to parse and if the string is a US address returns an object of the address broken into it's substituent parts.
83
+ StreetAddress::US allows you to send any string to parse and if the string
84
+ is a US address returns an object of the address broken into its constituent parts.
15
85
 
16
86
  A port of Geo::StreetAddress::US by Schuyler D. Erle and Tim Bunce.
17
87
  email: derreklong@gmail.com
@@ -19,17 +89,17 @@ executables: []
19
89
  extensions: []
20
90
  extra_rdoc_files: []
21
91
  files:
22
- - ".gitignore"
23
- - Gemfile
92
+ - CHANGELOG.md
93
+ - LICENCE
24
94
  - README.md
25
- - Rakefile
26
95
  - lib/street_address.rb
27
- - street_address.gemspec
28
- - test/test_street_address.rb
29
- homepage: https://github.com/derrek/street-address
30
- licenses: []
31
- metadata: {}
32
- post_install_message:
96
+ homepage: https://github.com/street-address-rb/street-address
97
+ licenses:
98
+ - MIT
99
+ metadata:
100
+ source_code_uri: https://github.com/street-address-rb/street-address
101
+ changelog_uri: https://github.com/street-address-rb/street-address/blob/master/CHANGELOG.md
102
+ bug_tracker_uri: https://github.com/street-address-rb/street-address/issues
33
103
  rdoc_options: []
34
104
  require_paths:
35
105
  - lib
@@ -37,16 +107,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
37
107
  requirements:
38
108
  - - ">="
39
109
  - !ruby/object:Gem::Version
40
- version: '0'
110
+ version: '3.3'
41
111
  required_rubygems_version: !ruby/object:Gem::Requirement
42
112
  requirements:
43
113
  - - ">="
44
114
  - !ruby/object:Gem::Version
45
115
  version: '0'
46
116
  requirements: []
47
- rubyforge_project:
48
- rubygems_version: 2.2.2
49
- signing_key:
117
+ rubygems_version: 3.6.7
50
118
  specification_version: 4
51
- summary: Parse Addresses into substituent parts. This gem includes US only.
119
+ summary: Parse US street addresses into constituent parts.
52
120
  test_files: []
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- .DS_Store
2
- .swp
3
- *.log
4
- .ruby-version
5
- .bundle
6
- Gemfile.lock
data/Gemfile DELETED
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :test do
6
- gem 'rake'
7
- end
data/Rakefile DELETED
@@ -1,8 +0,0 @@
1
- require 'rake/testtask'
2
-
3
- Rake::TestTask.new do |t|
4
- t.libs << 'test'
5
- end
6
-
7
- desc "Run tests"
8
- task :default => :test
@@ -1,21 +0,0 @@
1
- $LOAD_PATH.unshift 'lib'
2
-
3
- require 'street_address'
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "StreetAddress"
7
- s.version = StreetAddress::US::VERSION
8
- s.date = Time.now.strftime('%Y-%m-%d')
9
- s.summary = "Parse Addresses into substituent parts. This gem includes US only."
10
- s.authors = ["Derrek Long"]
11
- s.require_paths = ["lib"]
12
- s.email = "derreklong@gmail.com"
13
- s.files = `git ls-files`.split("\n")
14
- s.test_files = `git ls-files -- {test}/*`.split("\n")
15
- s.homepage = "https://github.com/derrek/street-address"
16
- s.description = <<desc
17
- StreetAddress::US allows you to send any string to parse and if the string is a US address returns an object of the address broken into it's substituent parts.
18
-
19
- A port of Geo::StreetAddress::US by Schuyler D. Erle and Tim Bunce.
20
- desc
21
- end
@@ -1,203 +0,0 @@
1
- require 'test/unit'
2
- require 'street_address'
3
-
4
-
5
- class StreetAddressUsTest < Test::Unit::TestCase
6
- def setup
7
- @addr1 = "2730 S Veitch St Apt 207, Arlington, VA 22206"
8
- @addr2 = "44 Canal Center Plaza Suite 500, Alexandria, VA 22314"
9
- @addr3 = "1600 Pennsylvania Ave Washington DC"
10
- @addr4 = "1005 Gravenstein Hwy N, Sebastopol CA 95472"
11
- @addr5 = "PO BOX 450, Chicago IL 60657"
12
- @addr6 = "2730 S Veitch St #207, Arlington, VA 22206"
13
- @addr7 = "#42 233 S Wacker Dr 60606"
14
- @addr8 = "Apt. 42, 233 S Wacker Dr 60606"
15
- @addr9 = "2730 S Veitch St #207"
16
-
17
- @int1 = "Hollywood & Vine, Los Angeles, CA"
18
- @int2 = "Hollywood Blvd and Vine St, Los Angeles, CA"
19
- @int3 = "Mission Street at Valencia Street, San Francisco, CA"
20
- end
21
-
22
- def test_zip_plus_4_with_dash
23
- addr = StreetAddress::US.parse("2730 S Veitch St, Arlington, VA 22206-3333")
24
- assert_equal "3333", addr.postal_code_ext
25
- end
26
-
27
- def test_zip_plus_4_without_dash
28
- addr = StreetAddress::US.parse("2730 S Veitch St, Arlington, VA 222064444")
29
- assert_equal "4444", addr.postal_code_ext
30
- end
31
-
32
- def test_informal_parse_normal_address
33
- a = StreetAddress::US.parse("2730 S Veitch St, Arlington, VA 222064444", :informal => true)
34
- assert_equal "2730", a.number
35
- assert_equal "S", a.prefix
36
- assert_equal "Veitch", a.street
37
- assert_equal "St", a.street_type
38
- assert_equal "Arlington", a.city
39
- assert_equal "VA", a.state
40
- assert_equal "22206", a.postal_code
41
- assert_equal "4444", a.postal_code_ext
42
- end
43
-
44
- def test_informal_parse_informal_address
45
- a = StreetAddress::US.parse("2730 S Veitch St", :informal => true)
46
- assert_equal "2730", a.number
47
- assert_equal "S", a.prefix
48
- assert_equal "Veitch", a.street
49
- assert_equal "St", a.street_type
50
- end
51
-
52
- def test_informal_parse_informal_address_trailing_words
53
- a = StreetAddress::US.parse("2730 S Veitch St in the south of arlington", :informal => true)
54
- assert_equal "2730", a.number
55
- assert_equal "S", a.prefix
56
- assert_equal "Veitch", a.street
57
- assert_equal "St", a.street_type
58
- end
59
-
60
- def test_parse
61
- assert_equal StreetAddress::US.parse("&"), nil
62
- assert_equal StreetAddress::US.parse(" and "), nil
63
-
64
- addr = StreetAddress::US.parse(@addr1)
65
- assert_equal addr.number, "2730"
66
- assert_equal addr.postal_code, "22206"
67
- assert_equal addr.prefix, "S"
68
- assert_equal addr.state, "VA"
69
- assert_equal addr.street, "Veitch"
70
- assert_equal addr.street_type, "St"
71
- assert_equal addr.unit, "207"
72
- assert_equal addr.unit_prefix, "Apt"
73
- assert_equal addr.city, "Arlington"
74
- assert_equal addr.prefix2, nil
75
- assert_equal addr.postal_code_ext, nil
76
-
77
- addr = StreetAddress::US.parse(@addr2)
78
- assert_equal addr.number, "44"
79
- assert_equal addr.postal_code, "22314"
80
- assert_equal addr.prefix, nil
81
- assert_equal addr.state, "VA"
82
- assert_equal addr.street, "Canal Center"
83
- assert_equal addr.street_type, "Plz"
84
- assert_equal addr.unit, "500"
85
- assert_equal addr.unit_prefix, "Suite"
86
- assert_equal addr.city, "Alexandria"
87
- assert_equal addr.street2, nil
88
-
89
- addr = StreetAddress::US.parse(@addr3)
90
- assert_equal addr.number, "1600"
91
- assert_equal addr.postal_code, nil
92
- assert_equal addr.prefix, nil
93
- assert_equal addr.state, "DC"
94
- assert_equal addr.street, "Pennsylvania"
95
- assert_equal addr.street_type, "Ave"
96
- assert_equal addr.unit, nil
97
- assert_equal addr.unit_prefix, nil
98
- assert_equal addr.city, "Washington"
99
- assert_equal addr.street2, nil
100
-
101
- addr = StreetAddress::US.parse(@addr4)
102
- assert_equal addr.number, "1005"
103
- assert_equal addr.postal_code, "95472"
104
- assert_equal addr.prefix, nil
105
- assert_equal addr.state, "CA"
106
- assert_equal addr.street, "Gravenstein"
107
- assert_equal addr.street_type, "Hwy"
108
- assert_equal addr.unit, nil
109
- assert_equal addr.unit_prefix, nil
110
- assert_equal addr.city, "Sebastopol"
111
- assert_equal addr.street2, nil
112
- assert_equal addr.suffix, "N"
113
-
114
- addr = StreetAddress::US.parse(@addr5)
115
- assert_equal addr, nil
116
-
117
- addr = StreetAddress::US.parse(@addr6)
118
- assert_equal("207", addr.unit)
119
-
120
- addr = StreetAddress::US.parse(@addr7, :informal => true)
121
- assert_equal addr.number, "233"
122
- assert_equal addr.postal_code, "60606"
123
- assert_equal addr.prefix, "S"
124
- assert_equal addr.state, nil
125
- assert_equal addr.street, "Wacker"
126
- assert_equal addr.street_type, "Dr"
127
- assert_equal addr.unit, "42"
128
- assert_equal addr.unit_prefix, "#"
129
- assert_equal addr.city, nil
130
- assert_equal addr.street2, nil
131
- assert_equal addr.suffix, nil
132
-
133
- addr = StreetAddress::US.parse(@addr8, :informal => true)
134
- assert_equal addr.number, "233"
135
- assert_equal addr.postal_code, "60606"
136
- assert_equal addr.prefix, "S"
137
- assert_equal addr.state, nil
138
- assert_equal addr.street, "Wacker"
139
- assert_equal addr.street_type, "Dr"
140
- assert_equal addr.unit, "42"
141
- assert_equal addr.unit_prefix, "Apt"
142
- assert_equal addr.city, nil
143
- assert_equal addr.street2, nil
144
- assert_equal addr.suffix, nil
145
-
146
- addr = StreetAddress::US.parse(@addr9, :informal => true)
147
- assert_equal("207", addr.unit)
148
-
149
- addr = StreetAddress::US.parse(@int1)
150
- assert_equal addr.city, "Los Angeles"
151
- assert_equal addr.state, "CA"
152
- assert_equal addr.street, "Hollywood"
153
- assert_equal addr.street2, "Vine"
154
- assert_equal addr.number, nil
155
- assert_equal addr.postal_code, nil
156
- assert_equal addr.intersection?, true
157
-
158
- addr = StreetAddress::US.parse(@int2)
159
- assert_equal addr.city, "Los Angeles"
160
- assert_equal addr.state, "CA"
161
- assert_equal addr.street, "Hollywood"
162
- assert_equal addr.street2, "Vine"
163
- assert_equal addr.number, nil
164
- assert_equal addr.postal_code, nil
165
- assert_equal addr.intersection?, true
166
- assert_equal addr.street_type, "Blvd"
167
- assert_equal addr.street_type2, "St"
168
-
169
- addr = StreetAddress::US.parse(@int3)
170
- assert_equal addr.city, "San Francisco"
171
- assert_equal addr.state, "CA"
172
- assert_equal addr.street, "Mission"
173
- assert_equal addr.street2, "Valencia"
174
- assert_equal addr.number, nil
175
- assert_equal addr.postal_code, nil
176
- assert_equal addr.intersection?, true
177
- assert_equal addr.street_type, "St"
178
- assert_equal addr.street_type2, "St"
179
-
180
- parseable = [
181
- "1600 Pennsylvania Ave Washington DC 20006",
182
- "1600 Pennsylvania Ave #400, Washington, DC, 20006",
183
- "1600 Pennsylvania Ave Washington, DC",
184
- "1600 Pennsylvania Ave #400 Washington DC",
185
- "1600 Pennsylvania Ave, 20006",
186
- "1600 Pennsylvania Ave #400, 20006",
187
- "1600 Pennsylvania Ave 20006",
188
- "1600 Pennsylvania Ave #400 20006",
189
- "Hollywood & Vine, Los Angeles, CA",
190
- "Hollywood Blvd and Vine St, Los Angeles, CA",
191
- "Mission Street at Valencia Street, San Francisco, CA",
192
- "Hollywood & Vine, Los Angeles, CA, 90028",
193
- "Hollywood Blvd and Vine St, Los Angeles, CA, 90028",
194
- "Mission Street at Valencia Street, San Francisco, CA, 90028"
195
- ]
196
-
197
- parseable.each do |location|
198
- assert_not_nil(StreetAddress::US.parse(location), location + " was not parseable")
199
- end
200
-
201
- end
202
-
203
- end