Wrapper around the UPS street level validation API. Nowhere near a complete implementation. This will just give some basic information back, such as address classification (residential/commercial) and if it is valid or not.
This can be modified to include address suggestions pretty easily in the Validator#build_request
method, but we have no need of this right now.
Add this line to your application's Gemfile:
gem 'address_validator', github: 'robhurring/address-validator'
And then execute:
$ bundle
Configuring the client
AddressValidator.configure do |config|
config.key = 'youraccesskeyfromups'
config.username = 'username'
config.password = 'hunter2'
config.maximum_list_size = 5
end
Basic Example
address = AddressValidator::Address.new(
name: 'Yum',
street1: '33 St. Marks Place',
city: 'New York',
state: 'NY',
zip: '10003',
country: 'US'
)
validator = AddressValidator::Validator.new
response = validator.validate(address)
# check if address is valid
response.valid?
# get the returned address
new_address = response.address
# check if its a house
new_address.residential?
You can also pass hashes directly into the validator if you want.
validator = AddressValidator::Validator.new
response = validator.validate(
name: 'Yum',
street1: '33 St. Marks Place',
city: 'New York',
state: 'NY',
zip: '10003',
country: 'US'
)
# check if address is valid
response.valid?
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request