uk_address_parser 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +65 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/uk_address_parser.rb +8 -0
- data/lib/uk_address_parser/address_parser.rb +171 -0
- data/lib/uk_address_parser/version.rb +3 -0
- data/uk_address_parser.gemspec +23 -0
- metadata +112 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ecc35c8f590a22839dd63839d3b9750705435aee
|
4
|
+
data.tar.gz: e0a2ca56f87a8d1efa5e4620cd658b1901f52f71
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d37b2e9d7c9d8bade64971257bce549428bbae5d5578b6b1dcd642650140d6645cf3ef23efba028bb1f8b3e77123df8344e6ee0c386debb774f604e1b95e726b
|
7
|
+
data.tar.gz: e8c28ded654249723f5ad69d31ec3ef4cc95ca3dc2ca3f7734093f5e302720310c89d5cf2031e65eeb93d7d66637171bbaf85e5198e6b89e0981be40a4c5f28f
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Rob Nichols
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# UkAddressParser
|
2
|
+
|
3
|
+
Tool to convert a UK address string into its constituent parts.
|
4
|
+
|
5
|
+
So for example:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
UkAddressParser.parse 'Flat 1, Bubble House, 12 Long Road, Someton, Worcestershire, WR1 1XX'
|
9
|
+
```
|
10
|
+
|
11
|
+
Will generate:
|
12
|
+
|
13
|
+
{
|
14
|
+
flat: "Flat 1",
|
15
|
+
house_number: "12",
|
16
|
+
house_name: "Bubble House",
|
17
|
+
street: "Long Road",
|
18
|
+
street2: nil,
|
19
|
+
street3: nil,
|
20
|
+
town: "Someton",
|
21
|
+
county: "Worcestershire",
|
22
|
+
postcode:"WR1 1XX"
|
23
|
+
}
|
24
|
+
|
25
|
+
## Installation
|
26
|
+
|
27
|
+
Add this line to your application's Gemfile:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
gem 'uk_address_parser'
|
31
|
+
```
|
32
|
+
|
33
|
+
And then execute:
|
34
|
+
|
35
|
+
$ bundle
|
36
|
+
|
37
|
+
Or install it yourself as:
|
38
|
+
|
39
|
+
$ gem install uk_address_parser
|
40
|
+
|
41
|
+
## Usage Limitations
|
42
|
+
|
43
|
+
This parser was initially built to parse a single set of addresses that had a
|
44
|
+
fairly limited variance in the arrangement of the component parts.
|
45
|
+
|
46
|
+
There are some limitations to how it works:
|
47
|
+
|
48
|
+
* The parser only works with comma delimited addresses.
|
49
|
+
* The parser assumes the address is a United Kingdom address and does not search for country
|
50
|
+
|
51
|
+
## Development
|
52
|
+
|
53
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
54
|
+
|
55
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
56
|
+
|
57
|
+
## Contributing
|
58
|
+
|
59
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/reggieb/uk_address_parser.
|
60
|
+
|
61
|
+
|
62
|
+
## License
|
63
|
+
|
64
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
65
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "uk_address_parser"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
module UkAddressParser
|
2
|
+
class AddressParser
|
3
|
+
|
4
|
+
attr_accessor :address, :flat, :house_number, :house_name, :street, :street2, :street3, :town, :county
|
5
|
+
def initialize(address)
|
6
|
+
self.address = address
|
7
|
+
end
|
8
|
+
|
9
|
+
def parts
|
10
|
+
@parts ||= address.split(/\s?\,\s?/).collect(&:strip)
|
11
|
+
end
|
12
|
+
|
13
|
+
def build
|
14
|
+
postcode
|
15
|
+
build_county
|
16
|
+
building_and_street
|
17
|
+
build_town
|
18
|
+
streets
|
19
|
+
end
|
20
|
+
|
21
|
+
def postcode
|
22
|
+
@postcode || build_postcode
|
23
|
+
end
|
24
|
+
|
25
|
+
def build_postcode
|
26
|
+
@postcode = parts.pop if postcode_pattern =~ parts.last
|
27
|
+
end
|
28
|
+
|
29
|
+
# Checking for something that looks like a postcode
|
30
|
+
# This is not checking if the postcode is valid
|
31
|
+
def postcode_pattern
|
32
|
+
/^[0-9A-Z]{2,4}\s+[0-9A-Z]{3}$/
|
33
|
+
end
|
34
|
+
|
35
|
+
def build_county
|
36
|
+
@county = parts.pop if counties.include?(parts.last)
|
37
|
+
end
|
38
|
+
|
39
|
+
def building_and_street
|
40
|
+
case parts.first
|
41
|
+
when number_and_known_street_ending
|
42
|
+
@house_number = $1
|
43
|
+
@street = $2
|
44
|
+
parts.shift
|
45
|
+
when known_street_ending_no_number
|
46
|
+
if !house_name && (number_and_any_street_name =~ parts[1] || known_street_ending_no_number =~ parts[1])
|
47
|
+
@house_name = parts.shift
|
48
|
+
building_and_street
|
49
|
+
else
|
50
|
+
@street = parts.shift
|
51
|
+
end
|
52
|
+
when flat_number
|
53
|
+
@flat = parts.shift
|
54
|
+
building_and_street
|
55
|
+
when number_and_any_street_name
|
56
|
+
@house_number = $1
|
57
|
+
@street = $2
|
58
|
+
parts.shift
|
59
|
+
else
|
60
|
+
unless house_name
|
61
|
+
@house_name = parts.shift
|
62
|
+
building_and_street
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def number_and_known_street_ending
|
68
|
+
/^(\d+\w?)\s([a-zA-Z\s\-\.\']+(#{street_endings.join('|')})$)/i
|
69
|
+
end
|
70
|
+
|
71
|
+
def known_street_ending_no_number
|
72
|
+
/^([a-zA-Z\s\-\.\']+(#{street_endings.join('|')})$)/i
|
73
|
+
end
|
74
|
+
|
75
|
+
def flat_number
|
76
|
+
/^Flat\s.*\d+.*/
|
77
|
+
end
|
78
|
+
|
79
|
+
def number_and_any_street_name
|
80
|
+
/^(\d+\w?)\s([\w\s\-\.]+)$/i
|
81
|
+
end
|
82
|
+
|
83
|
+
def build_town
|
84
|
+
@town = parts.pop unless parts.empty?
|
85
|
+
end
|
86
|
+
|
87
|
+
def streets
|
88
|
+
return if parts.empty?
|
89
|
+
@street = parts.shift unless street
|
90
|
+
@street2 = parts.shift
|
91
|
+
@street3 = parts.shift
|
92
|
+
raise "unprocessed parts: #{parts}" unless parts.empty?
|
93
|
+
end
|
94
|
+
|
95
|
+
def details
|
96
|
+
build unless parts.empty?
|
97
|
+
{
|
98
|
+
flat: flat,
|
99
|
+
house_number: house_number,
|
100
|
+
house_name: house_name,
|
101
|
+
street: street,
|
102
|
+
street2: street2,
|
103
|
+
street3: street3,
|
104
|
+
town: town,
|
105
|
+
county: county,
|
106
|
+
postcode: postcode
|
107
|
+
}
|
108
|
+
end
|
109
|
+
|
110
|
+
def counties
|
111
|
+
[
|
112
|
+
'Avon', 'Bedfordshire', 'Berkshire', 'Borders', 'Buckinghamshire', 'Cambridgeshire', 'Central',
|
113
|
+
'Cheshire', 'Cleveland', 'Clwyd', 'Cornwall', 'County Antrim', 'County Armagh', 'County Down',
|
114
|
+
'County Fermanagh', 'County Londonderry', 'County Tyrone', 'Cumbria', 'Derbyshire', 'Devon',
|
115
|
+
'Dorset', 'Dumfries and Galloway', 'Durham', 'Dyfed', 'East Sussex', 'Essex', 'Fife',
|
116
|
+
'Gloucestershire', 'Grampian', 'Greater Manchester', 'Gwent', 'Gwynedd County', 'Hampshire',
|
117
|
+
'Herefordshire', 'Hertfordshire', 'Highlands and Islands', 'Humberside', 'Isle of Wight',
|
118
|
+
'Kent', 'Lancashire', 'Leicestershire', 'Lincolnshire', 'Lothian', 'Merseyside', 'Mid Glamorgan',
|
119
|
+
'Norfolk', 'North Yorkshire', 'Northamptonshire', 'Northumberland', 'Nottinghamshire', 'Oxfordshire',
|
120
|
+
'Powys', 'Rutland', 'Shropshire', 'Somerset', 'South Glamorgan', 'South Yorkshire', 'Staffordshire',
|
121
|
+
'Strathclyde', 'Suffolk', 'Surrey', 'Tayside', 'Tyne and Wear', 'Warwickshire', 'West Glamorgan',
|
122
|
+
'West Midlands', 'West Sussex', 'West Yorkshire', 'Wiltshire', 'Worcestershire'
|
123
|
+
]
|
124
|
+
end
|
125
|
+
|
126
|
+
def street_endings
|
127
|
+
[
|
128
|
+
'ALLEE', 'ALLEY', 'ALLY', 'ALY', 'ANEX', 'ANNEX', 'ANNX', 'ANX', 'ARC', 'ARCADE', 'AV', 'AVE', 'AVEN',
|
129
|
+
'AVENU', 'AVENUE', 'AVN', 'AVNUE', 'BAYOO', 'BAYOU', 'BCH', 'BEACH', 'BEND', 'BND', 'BLF', 'BLUF', 'BLUFF',
|
130
|
+
'BLUFFS', 'BOT', 'BTM', 'BOTTM', 'BOTTOM', 'BLVD', 'BOUL', 'BOULEVARD', 'BOULV', 'BR', 'BRNCH', 'BRANCH',
|
131
|
+
'BRDGE', 'BRG', 'BRIDGE', 'BRK', 'BROOK', 'BROOKS', 'BURG', 'BURGS', 'BYP', 'BYPA', 'BYPAS', 'BYPASS',
|
132
|
+
'BYPS', 'CAMP', 'CP', 'CMP', 'CANYN', 'CANYON', 'CNYN', 'CAPE', 'CPE', 'CAUSEWAY', 'CAUSWA', 'CSWY',
|
133
|
+
'CEN', 'CENT', 'CENTER', 'CENTR', 'CENTRE', 'CNTER', 'CNTR', 'CTR', 'CENTERS', 'CIR', 'CIRC', 'CIRCL',
|
134
|
+
'CIRCLE', 'CRCL', 'CRCLE', 'CIRCLES', 'CLF', 'CLIFF', 'CLFS', 'CLIFFS', 'CL', 'CLOSE', 'CLB', 'CLUB', 'COMMON', 'COMMONS',
|
135
|
+
'COR', 'CORNER', 'CORNERS', 'CORS', 'COURSE', 'CRSE', 'COURT', 'CT', 'COURTS', 'CTS', 'COVE', 'CV', 'COVES',
|
136
|
+
'CREEK', 'CRK', 'CRESCENT', 'CRES', 'CRSENT', 'CRSNT', 'CREST', 'CROSSING', 'CRSSNG', 'XING', 'CROSSROAD',
|
137
|
+
'CROSSROADS', 'CURVE', 'DALE', 'DL', 'DAM', 'DM', 'DIV', 'DIVIDE', 'DV', 'DVD', 'DR', 'DRIV', 'DRIVE', 'DRV',
|
138
|
+
'DRIVES', 'EST', 'ESTATE', 'ESTATES', 'ESTS', 'EXP', 'EXPR', 'EXPRESS', 'EXPRESSWAY', 'EXPW', 'EXPY', 'EXT',
|
139
|
+
'EXTENSION', 'EXTN', 'EXTNSN', 'EXTS', 'FALL', 'FALLS', 'FLS', 'FERRY', 'FRRY', 'FRY', 'FIELD', 'FLD', 'FIELDS',
|
140
|
+
'FLDS', 'FLAT', 'FLT', 'FLATS', 'FLTS', 'FORD', 'FRD', 'FORDS', 'FOREST', 'FORESTS', 'FRST', 'FORG', 'FORGE',
|
141
|
+
'FRG', 'FORGES', 'FORK', 'FRK', 'FORKS', 'FRKS', 'FORT', 'FRT', 'FT', 'FREEWAY', 'FREEWY', 'FRWAY', 'FRWY',
|
142
|
+
'FWY', 'GARDEN', 'GARDN', 'GRDEN', 'GRDN', 'GARDENS', 'GDNS', 'GRDNS', 'GATEWAY', 'GATEWY', 'GATWAY', 'GTWAY',
|
143
|
+
'GTWY', 'GLEN', 'GLN', 'GLENS', 'GREEN', 'GRN', 'GREENS', 'GROV', 'GROVE', 'GRV', 'GROVES', 'HARB', 'HARBOR',
|
144
|
+
'HARBR', 'HBR', 'HRBOR', 'HARBORS', 'HAVEN', 'HVN', 'HT', 'HTS', 'HIGHWAY', 'HIGHWY', 'HIWAY', 'HIWY', 'HWAY',
|
145
|
+
'HWY', 'HILL', 'HL', 'HILLS', 'HLS', 'HLLW', 'HOLLOW', 'HOLLOWS', 'HOLW', 'HOLWS', 'INLT', 'INLET', 'IS', 'ISLAND',
|
146
|
+
'ISLND', 'ISLANDS', 'ISLNDS', 'ISS', 'ISLE', 'ISLES', 'JCT', 'JCTION', 'JCTN', 'JUNCTION', 'JUNCTN', 'JUNCTON',
|
147
|
+
'JCTNS', 'JCTS', 'JUNCTIONS', 'KEY', 'KY', 'KEYS', 'KYS', 'KNL', 'KNOL', 'KNOLL', 'KNLS', 'KNOLLS', 'LK',
|
148
|
+
'LAKE', 'LKS', 'LAKES', 'LAND', 'LANDING', 'LNDG', 'LNDNG', 'LANE', 'LN', 'LGT', 'LIGHT', 'LIGHTS', 'LF',
|
149
|
+
'LOAF', 'LCK', 'LOCK', 'LCKS', 'LOCKS', 'LDG', 'LDGE', 'LODG', 'LODGE', 'LOOP', 'LOOPS', 'MALL', 'MNR', 'MANOR',
|
150
|
+
'MANORS', 'MNRS', 'MEADOW', 'MDW', 'MDWS', 'MEADOWS', 'MEDOWS', 'MEWS', 'MILL', 'MILLS', 'MISSN', 'MSSN',
|
151
|
+
'MOTORWAY', 'MNT', 'MT', 'MOUNT', 'MNTAIN', 'MNTN', 'MOUNTAIN', 'MOUNTIN', 'MTIN', 'MTN', 'MNTNS', 'MOUNTAINS',
|
152
|
+
'NCK', 'NECK', 'ORCH', 'ORCHARD', 'ORCHRD', 'OVAL', 'OVL', 'OVERPASS', 'PARADE' 'PARK', 'PRK', 'PARKS', 'PARKWAY',
|
153
|
+
'PARKWY', 'PKWAY', 'PKWY', 'PKY', 'PARKWAYS', 'PKWYS', 'PASS', 'PASSAGE', 'PATH', 'PATHS', 'PIKE', 'PIKES',
|
154
|
+
'PINE', 'PINES', 'PNES', 'PLACE', 'PL', 'PLAIN', 'PLN', 'PLAINS', 'PLNS', 'PLAZA', 'PLZ', 'PLZA', 'POINT', 'PT', 'POINTS',
|
155
|
+
'PTS', 'PORT', 'PRT', 'PORTS', 'PRTS', 'PR', 'PRAIRIE', 'PRR', 'RAD', 'RADIAL', 'RADIEL', 'RADL', 'RAMP', 'RANCH',
|
156
|
+
'RANCHES', 'RNCH', 'RNCHS', 'RAPID', 'RPD', 'RAPIDS', 'RPDS', 'REST', 'RST', 'RDG', 'RDGE', 'RIDGE', 'RDGS',
|
157
|
+
'RIDGES', 'RIV', 'RIVER', 'RVR', 'RIVR', 'RD', 'ROAD', 'ROADS', 'RDS', 'ROUTE', 'ROW', 'RUE', 'RUN', 'SHL',
|
158
|
+
'SHOAL', 'SHLS', 'SHOALS', 'SHOAR', 'SHORE', 'SHR', 'SHOARS', 'SHORES', 'SHRS', 'SKYWAY', 'SPG', 'SPNG', 'SPRING',
|
159
|
+
'SPRNG', 'SPGS', 'SPNGS', 'SPRINGS', 'SPRNGS', 'SPUR', 'SPURS', 'SQ', 'SQR', 'SQRE', 'SQU', 'SQUARE', 'SQRS',
|
160
|
+
'SQUARES', 'STA', 'STATION', 'STATN', 'STN', 'STRA', 'STRAV', 'STRAVEN', 'STRAVENUE', 'STRAVN', 'STRVN',
|
161
|
+
'STRVNUE', 'STREAM', 'STREME', 'STRM', 'STREET', 'STRT', 'ST', 'STR', 'STREETS', 'SMT', 'SUMIT', 'SUMITT',
|
162
|
+
'SUMMIT', 'TER', 'TERR', 'TERRACE', 'THROUGHWAY', 'TRACE', 'TRACES', 'TRCE', 'TRACK', 'TRACKS', 'TRAK', 'TRK',
|
163
|
+
'TRKS', 'TRAFFICWAY', 'TRAIL', 'TRAILS', 'TRL', 'TRLS', 'TRAILER', 'TRLR', 'TRLRS', 'TUNEL', 'TUNL', 'TUNLS',
|
164
|
+
'TUNNEL', 'TUNNELS', 'TUNNL', 'TRNPK', 'TURNPIKE', 'TURNPK', 'UNDERPASS', 'UN', 'UNION', 'UNIONS', 'VALLEY',
|
165
|
+
'VALLY', 'VLLY', 'VLY', 'VALLEYS', 'VLYS', 'VDCT', 'VIA', 'VIADCT', 'VIADUCT', 'VIEW', 'VW', 'VIEWS', 'VWS',
|
166
|
+
'VILL', 'VILLAG', 'VILLAGE', 'VILLG', 'VILLIAGE', 'VLG', 'VILLAGES', 'VLGS', 'VILLE', 'VL', 'VIS', 'VIST',
|
167
|
+
'VISTA', 'VST', 'VSTA', 'WALK', 'WALKS', 'WALL', 'WY', 'WAY', 'WAYS', 'WELL', 'WELLS', 'WLS'
|
168
|
+
]
|
169
|
+
end
|
170
|
+
end
|
171
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'uk_address_parser/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "uk_address_parser"
|
8
|
+
spec.version = UkAddressParser::VERSION
|
9
|
+
spec.authors = ["Rob Nichols"]
|
10
|
+
spec.email = ["rob@undervale.co.uk"]
|
11
|
+
|
12
|
+
spec.summary = %q{Tool to convert a UK address string into its constituent parts.}
|
13
|
+
spec.homepage = "https://github.com/reggieb/uk_address_parser"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.add_development_dependency "bundler", "~> 1.12"
|
20
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
21
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
22
|
+
spec.add_development_dependency "faker", "~> 1.6"
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: uk_address_parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rob Nichols
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-11-03 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.12'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.12'
|
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: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: faker
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.6'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.6'
|
69
|
+
description:
|
70
|
+
email:
|
71
|
+
- rob@undervale.co.uk
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- .travis.yml
|
78
|
+
- Gemfile
|
79
|
+
- LICENSE.txt
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- bin/console
|
83
|
+
- bin/setup
|
84
|
+
- lib/uk_address_parser.rb
|
85
|
+
- lib/uk_address_parser/address_parser.rb
|
86
|
+
- lib/uk_address_parser/version.rb
|
87
|
+
- uk_address_parser.gemspec
|
88
|
+
homepage: https://github.com/reggieb/uk_address_parser
|
89
|
+
licenses:
|
90
|
+
- MIT
|
91
|
+
metadata: {}
|
92
|
+
post_install_message:
|
93
|
+
rdoc_options: []
|
94
|
+
require_paths:
|
95
|
+
- lib
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
requirements: []
|
107
|
+
rubyforge_project:
|
108
|
+
rubygems_version: 2.4.8
|
109
|
+
signing_key:
|
110
|
+
specification_version: 4
|
111
|
+
summary: Tool to convert a UK address string into its constituent parts.
|
112
|
+
test_files: []
|