usps_standardizer 0.1.1 → 0.1.2
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.
data/README.rdoc
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
Or you can pass your own Mechanize object to fetch the information
|
13
13
|
|
14
14
|
$ require 'usps_standardizer'
|
15
|
-
$ require 'mechanize'
|
15
|
+
$ require 'mechanize'
|
16
16
|
$ browser = Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari' }
|
17
17
|
$ result = USPSStandardizer.lookup_for({:address => '6216 eddington drive', :state => 'oh', :city => 'middletown'}, browser)
|
18
18
|
|
@@ -17,14 +17,14 @@ module USPSStandardizer
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def std_address
|
20
|
-
return
|
20
|
+
return {} unless (content = get_std_address_content)
|
21
21
|
|
22
22
|
content.gsub!(/\t|\n|\r/, '')
|
23
23
|
content.squeeze!(" ").strip!
|
24
24
|
|
25
25
|
raw_matches = content.scan(%r{<td headers="\w+" height="34" valign="top" class="main" style="background:url\(images/table_gray\.gif\); padding:5px 10px;">(.*?)>Mailing Industry Information</a>}mi)
|
26
26
|
|
27
|
-
raw_matches.inject(
|
27
|
+
raw_matches.inject({}) do |results, raw_match|
|
28
28
|
if raw_match[0] =~ /mailingIndustryPopup2\(([^\)]*)/i
|
29
29
|
@county = $1.split(',')[1].gsub(/'/, '')
|
30
30
|
end
|
@@ -37,7 +37,7 @@ module USPSStandardizer
|
|
37
37
|
@city, @state, @zipcode = $1, $2, $3
|
38
38
|
end
|
39
39
|
|
40
|
-
results
|
40
|
+
results = {:address => @address, :city => @city, :state => @state, :county => @county, :zipcode => @zipcode}
|
41
41
|
results
|
42
42
|
end
|
43
43
|
end
|
@@ -4,14 +4,14 @@ describe USPSStandardizer::ZipLookup do
|
|
4
4
|
let(:content) { File.read(File.dirname(__FILE__) + "/../fixtures/content.html") }
|
5
5
|
|
6
6
|
describe "std_address" do
|
7
|
-
it "return
|
7
|
+
it "return {} if invalid address" do
|
8
8
|
subject.stub(:get_std_address_content).and_return(false)
|
9
9
|
subject.std_address.should be_empty
|
10
10
|
end
|
11
11
|
it "return a standardized address" do
|
12
12
|
subject.stub(:get_std_address_content).and_return(content)
|
13
13
|
a = subject.std_address
|
14
|
-
a.should be_instance_of(
|
14
|
+
a.should be_instance_of(Hash)
|
15
15
|
a.should_not be_empty
|
16
16
|
end
|
17
17
|
end
|
@@ -8,9 +8,9 @@ describe USPSStandardizer do
|
|
8
8
|
|
9
9
|
it "standards an address on usps website" do
|
10
10
|
result = USPSStandardizer.lookup_for(:address => '6216 eddington drive', :state => 'oh', :city => 'middletown')
|
11
|
-
result[
|
12
|
-
result[
|
13
|
-
result[
|
11
|
+
result[:address].should == '6216 EDDINGTON ST'
|
12
|
+
result[:state].should == 'OH'
|
13
|
+
result[:city].should == 'LIBERTY TOWNSHIP'
|
14
14
|
end
|
15
15
|
|
16
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usps_standardizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mechanize
|
16
|
-
requirement: &
|
16
|
+
requirement: &71382600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *71382600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sanitize
|
27
|
-
requirement: &
|
27
|
+
requirement: &71382350 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.0.3
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *71382350
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &71382120 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 2.6.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *71382120
|
47
47
|
description: Ruby class to standardize U.S. postal addresses by referencing the U.S.
|
48
48
|
Postal Service's web site
|
49
49
|
email:
|