StreetAddress 1.0.2 → 1.0.3
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 +3 -2
- data/lib/street_address.rb +39 -29
- metadata +4 -4
data/README.rdoc
CHANGED
@@ -26,9 +26,10 @@ Parse United States addresses.
|
|
26
26
|
address.state_name # District of columbia
|
27
27
|
address.street_type # Ave
|
28
28
|
address.intersection? # false
|
29
|
-
|
29
|
+
address.to_s # "1600 Pennsylvania Ave, Washington, DC 20500"
|
30
|
+
address.to_s(:line1) # 1600 Pennsylvania Ave
|
30
31
|
StreetAddress::US.parse("1600 Pennsylvania Ave") # nil not a full address
|
31
32
|
|
32
33
|
=== Gemfile:
|
33
34
|
To use from your Gemfile:
|
34
|
-
gem 'StreetAddress', '1.0.2', :require => "street_address
|
35
|
+
gem 'StreetAddress', '1.0.2', :require => "street_address"
|
data/lib/street_address.rb
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
module StreetAddress
|
66
66
|
class US
|
67
|
-
VERSION = '1.0.
|
67
|
+
VERSION = '1.0.3'
|
68
68
|
DIRECTIONAL = {
|
69
69
|
"north" => "N",
|
70
70
|
"northeast" => "NE",
|
@@ -809,37 +809,47 @@ module StreetAddress
|
|
809
809
|
!street2.nil?
|
810
810
|
end
|
811
811
|
|
812
|
-
def
|
812
|
+
def line1(s = "")
|
813
|
+
s += number
|
814
|
+
s += " " + prefix unless prefix.nil?
|
815
|
+
s += " " + street unless street.nil?
|
816
|
+
s += " " + street_type unless street_type.nil?
|
817
|
+
if( !unit_prefix.nil? && !unit.nil? )
|
818
|
+
s += " " + unit_prefix
|
819
|
+
s += " " + unit
|
820
|
+
elsif( unit_prefix.nil? && !unit.nil? )
|
821
|
+
s += " #" + unit
|
822
|
+
end
|
823
|
+
s += " " + suffix unless suffix.nil?
|
824
|
+
return s
|
825
|
+
end
|
826
|
+
|
827
|
+
def to_s(format = :default)
|
813
828
|
s = ""
|
814
|
-
|
815
|
-
|
816
|
-
s +=
|
817
|
-
s += " " + street_type unless street_type.nil?
|
818
|
-
s += " " + suffix unless suffix.nil?
|
819
|
-
s += " and"
|
820
|
-
s += " " + prefix2 unless prefix2.nil?
|
821
|
-
s += " " + street2
|
822
|
-
s += " " + street_type2 unless street_type2.nil?
|
823
|
-
s += " " + suffix2 unless suffix2.nil?
|
824
|
-
s += ", " + city unless city.nil?
|
825
|
-
s += ", " + state unless state.nil?
|
826
|
-
s += " " + postal_code unless postal_code.nil?
|
829
|
+
case format
|
830
|
+
when :line1
|
831
|
+
s += line1(s)
|
827
832
|
else
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
s += " "
|
834
|
-
s += " " +
|
835
|
-
|
836
|
-
s += "
|
833
|
+
if intersection?
|
834
|
+
s += prefix + " " unless prefix.nil?
|
835
|
+
s += street
|
836
|
+
s += " " + street_type unless street_type.nil?
|
837
|
+
s += " " + suffix unless suffix.nil?
|
838
|
+
s += " and"
|
839
|
+
s += " " + prefix2 unless prefix2.nil?
|
840
|
+
s += " " + street2
|
841
|
+
s += " " + street_type2 unless street_type2.nil?
|
842
|
+
s += " " + suffix2 unless suffix2.nil?
|
843
|
+
s += ", " + city unless city.nil?
|
844
|
+
s += ", " + state unless state.nil?
|
845
|
+
s += " " + postal_code unless postal_code.nil?
|
846
|
+
else
|
847
|
+
s += line1(s)
|
848
|
+
s += ", " + city unless city.nil?
|
849
|
+
s += ", " + state unless state.nil?
|
850
|
+
s += " " + postal_code unless postal_code.nil?
|
851
|
+
s += "-" + postal_code_ext unless postal_code_ext.nil?
|
837
852
|
end
|
838
|
-
s += " " + suffix unless suffix.nil?
|
839
|
-
s += ", " + city unless city.nil?
|
840
|
-
s += ", " + state unless state.nil?
|
841
|
-
s += " " + postal_code unless postal_code.nil?
|
842
|
-
s += "-" + postal_code_ext unless postal_code_ext.nil?
|
843
853
|
end
|
844
854
|
return s
|
845
855
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: StreetAddress
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Derrek Long
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-
|
19
|
+
date: 2011-09-21 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies: []
|
22
22
|
|