postcode-anywhere 1.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +30 -0
- data/.rspec +2 -0
- data/.rubocop.yml +247 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +72 -0
- data/LICENSE.txt +21 -0
- data/README.md +319 -0
- data/Rakefile +2 -0
- data/config/pre_commit.yml +7 -0
- data/lib/postcode_anywhere.rb +10 -0
- data/lib/postcode_anywhere/bank_account_validation/bank_branch.rb +45 -0
- data/lib/postcode_anywhere/bank_account_validation/client.rb +13 -0
- data/lib/postcode_anywhere/bank_account_validation/interactive.rb +39 -0
- data/lib/postcode_anywhere/bank_account_validation/validation_result.rb +80 -0
- data/lib/postcode_anywhere/capture_plus/client.rb +13 -0
- data/lib/postcode_anywhere/capture_plus/interactive.rb +84 -0
- data/lib/postcode_anywhere/capture_plus/query_type.rb +8 -0
- data/lib/postcode_anywhere/capture_plus/retrieve_result.rb +45 -0
- data/lib/postcode_anywhere/capture_plus/search_result.rb +39 -0
- data/lib/postcode_anywhere/cleanse_plus/cleansed_address.rb +98 -0
- data/lib/postcode_anywhere/cleanse_plus/client.rb +13 -0
- data/lib/postcode_anywhere/cleanse_plus/interactive.rb +24 -0
- data/lib/postcode_anywhere/client.rb +86 -0
- data/lib/postcode_anywhere/configuration.rb +47 -0
- data/lib/postcode_anywhere/email_validation/client.rb +13 -0
- data/lib/postcode_anywhere/email_validation/interactive.rb +25 -0
- data/lib/postcode_anywhere/email_validation/validation_result.rb +24 -0
- data/lib/postcode_anywhere/error.rb +118 -0
- data/lib/postcode_anywhere/model_base.rb +72 -0
- data/lib/postcode_anywhere/request.rb +33 -0
- data/lib/postcode_anywhere/response/parse_json.rb +100 -0
- data/lib/postcode_anywhere/response/raise_error.rb +19 -0
- data/lib/postcode_anywhere/utils.rb +15 -0
- data/lib/postcode_anywhere/version.rb +3 -0
- data/postcode_anywhere.gemspec +31 -0
- data/spec/postcode_anywhere/bank_account_validation/interactive_spec.rb +82 -0
- data/spec/postcode_anywhere/capture_plus/interactive_spec.rb +240 -0
- data/spec/postcode_anywhere/cleanse_plus/interactive_spec.rb +65 -0
- data/spec/postcode_anywhere/client_spec.rb +124 -0
- data/spec/postcode_anywhere/configuration_spec.rb +62 -0
- data/spec/postcode_anywhere/email_validation/interactive_spec.rb +30 -0
- data/spec/postcode_anywhere/error_spec.rb +70 -0
- data/spec/postcode_anywhere/fixtures/bank_account_retrieve_by_sort.json +1 -0
- data/spec/postcode_anywhere/fixtures/bank_account_validate_account.json +1 -0
- data/spec/postcode_anywhere/fixtures/capture_plus_retrieve.json +1 -0
- data/spec/postcode_anywhere/fixtures/capture_plus_search.json +1 -0
- data/spec/postcode_anywhere/fixtures/cleanse_address_multi.json +1 -0
- data/spec/postcode_anywhere/fixtures/cleanse_address_single.json +1 -0
- data/spec/postcode_anywhere/fixtures/email_validation_validate_email.json +1 -0
- data/spec/postcode_anywhere/model_base_spec.rb +10 -0
- data/spec/spec_helper.rb +38 -0
- metadata +281 -0
data/Rakefile
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require 'postcode_anywhere/configuration'
|
|
2
|
+
require 'postcode_anywhere/version'
|
|
3
|
+
require 'postcode_anywhere/capture_plus/client'
|
|
4
|
+
require 'postcode_anywhere/cleanse_plus/client'
|
|
5
|
+
require 'postcode_anywhere/bank_account_validation/client'
|
|
6
|
+
require 'postcode_anywhere/email_validation/client'
|
|
7
|
+
|
|
8
|
+
module PostcodeAnywhere
|
|
9
|
+
extend Configuration
|
|
10
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'postcode_anywhere/model_base'
|
|
2
|
+
|
|
3
|
+
module PostcodeAnywhere
|
|
4
|
+
module BankAccountValidation
|
|
5
|
+
class BankBranch < PostcodeAnywhere::ModelBase
|
|
6
|
+
# The name of the banking institution.
|
|
7
|
+
attr_reader :bank
|
|
8
|
+
|
|
9
|
+
# The banking institution's BIC, also know as the SWIFT BIC.
|
|
10
|
+
attr_reader :bank_bic
|
|
11
|
+
|
|
12
|
+
# The name of the account holding branch.
|
|
13
|
+
attr_reader :branch
|
|
14
|
+
|
|
15
|
+
# The branch's BIC.
|
|
16
|
+
attr_reader :branch_bic
|
|
17
|
+
|
|
18
|
+
# Line 1 of the branch's contact address.
|
|
19
|
+
# NB: This is the address to be used for BACs enquiries and may be a
|
|
20
|
+
# contact centre rather than the branch's address.
|
|
21
|
+
attr_reader :contact_address_line1
|
|
22
|
+
|
|
23
|
+
# Line 2 of the branch's contact address.
|
|
24
|
+
attr_reader :contact_address_line2
|
|
25
|
+
|
|
26
|
+
# The branch's contact post town.
|
|
27
|
+
attr_reader :contact_post_town
|
|
28
|
+
|
|
29
|
+
# The branch's contact postcode.
|
|
30
|
+
attr_reader :contact_postcode
|
|
31
|
+
|
|
32
|
+
# The branch's contact phone number.
|
|
33
|
+
attr_reader :contact_phone
|
|
34
|
+
|
|
35
|
+
# The branch's contact fax number.
|
|
36
|
+
attr_reader :contact_fax
|
|
37
|
+
|
|
38
|
+
# Indicates that the account supports the faster payments service.
|
|
39
|
+
attr_reader :faster_payments_supported
|
|
40
|
+
|
|
41
|
+
# Indicates that the account supports the CHAPS service.
|
|
42
|
+
attr_reader :chaps_supported
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require 'postcode_anywhere/client'
|
|
2
|
+
require 'postcode_anywhere/bank_account_validation/interactive'
|
|
3
|
+
|
|
4
|
+
module PostcodeAnywhere
|
|
5
|
+
module BankAccountValidation
|
|
6
|
+
class Client < ::PostcodeAnywhere::Client
|
|
7
|
+
include PostcodeAnywhere::BankAccountValidation::Interactive
|
|
8
|
+
def initialize(options = {})
|
|
9
|
+
super(options)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'postcode_anywhere/utils'
|
|
2
|
+
require 'postcode_anywhere/bank_account_validation/bank_branch'
|
|
3
|
+
require 'postcode_anywhere/bank_account_validation/validation_result'
|
|
4
|
+
|
|
5
|
+
module PostcodeAnywhere
|
|
6
|
+
module BankAccountValidation
|
|
7
|
+
module Interactive
|
|
8
|
+
include ::PostcodeAnywhere::Utils
|
|
9
|
+
|
|
10
|
+
API_VERSION = '1.00'
|
|
11
|
+
|
|
12
|
+
RETRIEVE_BY_SORTCODE_ENDPOINT =
|
|
13
|
+
"BankAccountValidation/Interactive/RetrieveBySortcode/v#{API_VERSION}/json.ws"
|
|
14
|
+
|
|
15
|
+
VALIDATE_ACCOUNT_ENDPOINT =
|
|
16
|
+
"BankAccountValidation/Interactive/Validate/v#{API_VERSION}/json.ws"
|
|
17
|
+
|
|
18
|
+
def retrieve_by_sortcode(sort_code, options = {})
|
|
19
|
+
options.merge!('SortCode' => sort_code)
|
|
20
|
+
perform_with_object(
|
|
21
|
+
:get,
|
|
22
|
+
RETRIEVE_BY_SORTCODE_ENDPOINT,
|
|
23
|
+
options,
|
|
24
|
+
PostcodeAnywhere::BankAccountValidation::BankBranch
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def validate_account(account_number, sort_code, options = {})
|
|
29
|
+
options.merge!('SortCode' => sort_code, 'AccountNumber' => account_number)
|
|
30
|
+
perform_with_object(
|
|
31
|
+
:get,
|
|
32
|
+
VALIDATE_ACCOUNT_ENDPOINT,
|
|
33
|
+
options,
|
|
34
|
+
PostcodeAnywhere::BankAccountValidation::ValidationResult
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
require 'postcode_anywhere/model_base'
|
|
2
|
+
|
|
3
|
+
module PostcodeAnywhere
|
|
4
|
+
module BankAccountValidation
|
|
5
|
+
class ValidationResult < PostcodeAnywhere::ModelBase
|
|
6
|
+
# Indicates whether the account number a sortcode are valid.
|
|
7
|
+
# Example: false
|
|
8
|
+
attr_reader :is_correct
|
|
9
|
+
|
|
10
|
+
# Indicates whether the account can accept direct debits.
|
|
11
|
+
# Certain accounts (e.g. savings) will not accept direct debits.
|
|
12
|
+
# Example: false
|
|
13
|
+
attr_reader :is_direct_debit_capable
|
|
14
|
+
|
|
15
|
+
# More detail about the outcome of the validation process.
|
|
16
|
+
# Describes reasons validation failed or changes made to pass validation.
|
|
17
|
+
# DetailsChanged indicates that the account and sortcode should be changed for
|
|
18
|
+
# BACs submission (check CorrectedAccountNumber and CorrectedSortCode).
|
|
19
|
+
# CautiousOK is set where the sortcode exists but no validation rules are
|
|
20
|
+
# set for the bank (very rare).
|
|
21
|
+
#
|
|
22
|
+
# Values:
|
|
23
|
+
# - None
|
|
24
|
+
# - UnknownSortCode
|
|
25
|
+
# - InvalidAccountNumber
|
|
26
|
+
# - OK
|
|
27
|
+
# - CautiousOK
|
|
28
|
+
# - DetailsChanged
|
|
29
|
+
attr_reader :status_information
|
|
30
|
+
|
|
31
|
+
# The correct version of the SortCode. This will be 6 digits long with no hyphens.
|
|
32
|
+
# It may differ from the original sortcode.
|
|
33
|
+
attr_reader :corrected_sort_code
|
|
34
|
+
|
|
35
|
+
# The correct version of the AccountNumber.
|
|
36
|
+
# This will be 8 digits long and in the form expected for BACs submission.
|
|
37
|
+
attr_reader :corrected_account_number
|
|
38
|
+
|
|
39
|
+
# The correctly formatted IBAN for the account.
|
|
40
|
+
attr_reader :iban
|
|
41
|
+
|
|
42
|
+
# The name of the banking institution.
|
|
43
|
+
attr_reader :bank
|
|
44
|
+
|
|
45
|
+
# The banking institution's BIC, also know as the SWIFT BIC.
|
|
46
|
+
attr_reader :bank_bic
|
|
47
|
+
|
|
48
|
+
# The name of the account holding branch.
|
|
49
|
+
attr_reader :branch
|
|
50
|
+
|
|
51
|
+
# The branch's BIC.
|
|
52
|
+
attr_reader :branch_bic
|
|
53
|
+
|
|
54
|
+
# Line 1 of the branch's contact address. NB: This is the address to be used for BACs
|
|
55
|
+
# enquiries and may be a contact centre rather than the branch's address.
|
|
56
|
+
attr_reader :contact_address_line1
|
|
57
|
+
|
|
58
|
+
# Line 2 of the branch's contact address.
|
|
59
|
+
attr_reader :contact_address_line2
|
|
60
|
+
|
|
61
|
+
# The branch's contact post town.
|
|
62
|
+
attr_reader :contact_post_town
|
|
63
|
+
|
|
64
|
+
# The branch's contact postcode.
|
|
65
|
+
attr_reader :contact_postcode
|
|
66
|
+
|
|
67
|
+
# The branch's contact phone number.
|
|
68
|
+
attr_reader :contact_phone
|
|
69
|
+
|
|
70
|
+
# The branch's contact fax number.
|
|
71
|
+
attr_reader :contact_fax
|
|
72
|
+
|
|
73
|
+
# Indicates that the account supports the faster payments service.
|
|
74
|
+
attr_reader :faster_payments_supported
|
|
75
|
+
|
|
76
|
+
# Indicates that the account supports the CHAPS service.
|
|
77
|
+
attr_reader :chaps_supported
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require 'postcode_anywhere/client'
|
|
2
|
+
require 'postcode_anywhere/capture_plus/interactive'
|
|
3
|
+
|
|
4
|
+
module PostcodeAnywhere
|
|
5
|
+
module CapturePlus
|
|
6
|
+
class Client < ::PostcodeAnywhere::Client
|
|
7
|
+
include PostcodeAnywhere::CapturePlus::Interactive
|
|
8
|
+
def initialize(options = {})
|
|
9
|
+
super(options)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
require 'postcode_anywhere/utils'
|
|
2
|
+
require 'postcode_anywhere/capture_plus/search_result'
|
|
3
|
+
require 'postcode_anywhere/capture_plus/retrieve_result'
|
|
4
|
+
require 'postcode_anywhere/capture_plus/query_type'
|
|
5
|
+
|
|
6
|
+
module PostcodeAnywhere
|
|
7
|
+
module CapturePlus
|
|
8
|
+
module Interactive
|
|
9
|
+
include ::PostcodeAnywhere::Utils
|
|
10
|
+
|
|
11
|
+
API_VERSION = '2.00'
|
|
12
|
+
|
|
13
|
+
FIND_ADDRESSES_ENDPOINT = "CapturePlus/Interactive/Find/v#{API_VERSION}/json.ws"
|
|
14
|
+
|
|
15
|
+
RETRIEVE_ADDRESS_ENDPOINT = "CapturePlus/Interactive/Retrieve/v#{API_VERSION}/json.ws"
|
|
16
|
+
|
|
17
|
+
def query(search_term, options = {})
|
|
18
|
+
options.merge!(
|
|
19
|
+
'SearchTerm' => search_term
|
|
20
|
+
)
|
|
21
|
+
options['LastId'] = ParentIdExtractor.new(options.delete(:parent_query)).extract
|
|
22
|
+
options['SearchFor'] = options.delete(:search_for) || EVERYTHING
|
|
23
|
+
options['Country'] = options.delete(:country) || 'GBR'
|
|
24
|
+
options['LanguagePreference'] = options.delete(:language) || 'EN'
|
|
25
|
+
perform_with_objects(
|
|
26
|
+
:get,
|
|
27
|
+
FIND_ADDRESSES_ENDPOINT,
|
|
28
|
+
options,
|
|
29
|
+
PostcodeAnywhere::CapturePlus::SearchResult
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def sub_query(search_term, parent_query, options = {})
|
|
34
|
+
options.merge!(parent_query: parent_query)
|
|
35
|
+
query(search_term, options)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def query_places(search_term, options = {})
|
|
39
|
+
options.merge!(search_for: PLACE)
|
|
40
|
+
query search_term, options
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def query_companies(search_term, options = {})
|
|
44
|
+
options.merge!(search_for: COMPANY)
|
|
45
|
+
query search_term, options
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def query_postcodes(search_term, options = {})
|
|
49
|
+
options.merge!(search_for: POSTCODE)
|
|
50
|
+
query search_term, options
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def retrieve(search_result)
|
|
54
|
+
options = {}
|
|
55
|
+
options.merge!(
|
|
56
|
+
'Id' => ParentIdExtractor.new(search_result).extract
|
|
57
|
+
)
|
|
58
|
+
perform_with_object(
|
|
59
|
+
:get,
|
|
60
|
+
RETRIEVE_ADDRESS_ENDPOINT,
|
|
61
|
+
options,
|
|
62
|
+
PostcodeAnywhere::CapturePlus::RetrieveResult
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
class ParentIdExtractor
|
|
67
|
+
attr_accessor :parent_query
|
|
68
|
+
|
|
69
|
+
def initialize(parent)
|
|
70
|
+
@parent_query = parent
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def extract
|
|
74
|
+
if @parent_query &&
|
|
75
|
+
@parent_query.class == PostcodeAnywhere::CapturePlus::SearchResult
|
|
76
|
+
return @parent_query.id
|
|
77
|
+
else
|
|
78
|
+
return @parent_query
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'postcode_anywhere/model_base'
|
|
2
|
+
|
|
3
|
+
module PostcodeAnywhere
|
|
4
|
+
module CapturePlus
|
|
5
|
+
class RetrieveResult < PostcodeAnywhere::ModelBase
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :domestic_id
|
|
8
|
+
attr_reader :language
|
|
9
|
+
attr_reader :language_alternatives
|
|
10
|
+
attr_reader :department
|
|
11
|
+
attr_reader :company
|
|
12
|
+
attr_reader :sub_building
|
|
13
|
+
attr_reader :building_number
|
|
14
|
+
attr_reader :building_name
|
|
15
|
+
attr_reader :secondary_street
|
|
16
|
+
attr_reader :street
|
|
17
|
+
attr_reader :block
|
|
18
|
+
attr_reader :neighbourhood
|
|
19
|
+
attr_reader :district
|
|
20
|
+
attr_reader :city
|
|
21
|
+
attr_reader :line1
|
|
22
|
+
attr_reader :line2
|
|
23
|
+
attr_reader :line3
|
|
24
|
+
attr_reader :line4
|
|
25
|
+
attr_reader :line5
|
|
26
|
+
attr_reader :admin_area_name
|
|
27
|
+
attr_reader :admin_area_code
|
|
28
|
+
attr_reader :province
|
|
29
|
+
attr_reader :province_name
|
|
30
|
+
attr_reader :province_code
|
|
31
|
+
attr_reader :postal_code
|
|
32
|
+
attr_reader :country_name
|
|
33
|
+
attr_reader :country_iso2
|
|
34
|
+
attr_reader :country_iso3
|
|
35
|
+
attr_reader :country_iso_number
|
|
36
|
+
attr_reader :sorting_number1
|
|
37
|
+
attr_reader :sorting_number2
|
|
38
|
+
attr_reader :barcode
|
|
39
|
+
attr_reader :po_box_number
|
|
40
|
+
attr_reader :label
|
|
41
|
+
attr_reader :type
|
|
42
|
+
attr_reader :data_level
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'postcode_anywhere/model_base'
|
|
2
|
+
|
|
3
|
+
module PostcodeAnywhere
|
|
4
|
+
module CapturePlus
|
|
5
|
+
class SearchResult < PostcodeAnywhere::ModelBase
|
|
6
|
+
# The Id to be used as the LastId with the Find method.
|
|
7
|
+
# Example: GBR|ST|27299|3739|6|0|0|
|
|
8
|
+
attr_reader :id
|
|
9
|
+
|
|
10
|
+
# The found item.
|
|
11
|
+
# Example: High Street, London
|
|
12
|
+
attr_reader :text
|
|
13
|
+
|
|
14
|
+
# A list of number ranges identifying the characters to highlight
|
|
15
|
+
# in the Text response (zero-based start position and end).
|
|
16
|
+
# Example: 0-2,6-4
|
|
17
|
+
attr_reader :highlight
|
|
18
|
+
|
|
19
|
+
# A zero-based position in the Text response indicating the suggested
|
|
20
|
+
# position of the cursor if this item is selected.
|
|
21
|
+
# A -1 response indicates no suggestion is available.
|
|
22
|
+
# 0
|
|
23
|
+
# Example: true
|
|
24
|
+
attr_reader :cursor
|
|
25
|
+
|
|
26
|
+
# Descriptive information about the found item, typically if it's a container.
|
|
27
|
+
# Example: 102 Streets
|
|
28
|
+
attr_reader :description
|
|
29
|
+
|
|
30
|
+
# The next step of the search process.
|
|
31
|
+
# Values:
|
|
32
|
+
# - Find
|
|
33
|
+
# - Retrieve
|
|
34
|
+
# - None
|
|
35
|
+
# Example: Retrieve
|
|
36
|
+
attr_reader :next
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
require 'postcode_anywhere/model_base'
|
|
2
|
+
|
|
3
|
+
module PostcodeAnywhere
|
|
4
|
+
module CleansePlus
|
|
5
|
+
class CleansedAddress < PostcodeAnywhere::ModelBase
|
|
6
|
+
# The Royal Mail UDPRN (Unique Delivery Point Reference Number) for the address.
|
|
7
|
+
# Example: 26742632
|
|
8
|
+
attr_reader :udprn
|
|
9
|
+
|
|
10
|
+
# The name of the company.
|
|
11
|
+
# Example: Postcode Anywhere (Europe) Ltd
|
|
12
|
+
attr_reader :company
|
|
13
|
+
|
|
14
|
+
# Department name (rarely used).
|
|
15
|
+
attr_reader :department
|
|
16
|
+
|
|
17
|
+
# Line 1 of the address.
|
|
18
|
+
# Example: Enigma House
|
|
19
|
+
attr_reader :line1
|
|
20
|
+
|
|
21
|
+
# Line 2 of the address.
|
|
22
|
+
# Example: Elgar Business Centre
|
|
23
|
+
attr_reader :line2
|
|
24
|
+
|
|
25
|
+
# Line 3 of the address (rarely used).
|
|
26
|
+
# Example: Moseley Road
|
|
27
|
+
attr_reader :line3
|
|
28
|
+
|
|
29
|
+
# Line 4 of the address (rarely used).
|
|
30
|
+
# Example: Hallow
|
|
31
|
+
attr_reader :line4
|
|
32
|
+
|
|
33
|
+
# Line 5 of the address (rarely used).
|
|
34
|
+
attr_reader :line5
|
|
35
|
+
|
|
36
|
+
# The post town for the address.
|
|
37
|
+
# Example: Worcester
|
|
38
|
+
attr_reader :post_town
|
|
39
|
+
|
|
40
|
+
# The postal county for the address.
|
|
41
|
+
# Example: Worcestershire
|
|
42
|
+
attr_reader :county
|
|
43
|
+
|
|
44
|
+
# The postcode for the address.
|
|
45
|
+
# Example: WR2 6NJ
|
|
46
|
+
attr_reader :postcode
|
|
47
|
+
|
|
48
|
+
# The mailsort code for the address.
|
|
49
|
+
# Example: 70122
|
|
50
|
+
attr_reader :mailsort
|
|
51
|
+
|
|
52
|
+
# The barcode for the address.
|
|
53
|
+
# Example: (WR26NJ3UT)
|
|
54
|
+
attr_reader :barcode
|
|
55
|
+
|
|
56
|
+
# The type of address.
|
|
57
|
+
# Example: SmallBusiness
|
|
58
|
+
# Values:
|
|
59
|
+
# - Residential
|
|
60
|
+
# - SmallBusiness
|
|
61
|
+
# - LargeBusiness
|
|
62
|
+
# - Unknown
|
|
63
|
+
attr_reader :type
|
|
64
|
+
|
|
65
|
+
# The 2 character delivery point suffix.
|
|
66
|
+
# Example: 3U
|
|
67
|
+
attr_reader :delivery_point_suffix
|
|
68
|
+
|
|
69
|
+
# The name of the sub building (flat / unit etc).
|
|
70
|
+
# Example: Enigma House
|
|
71
|
+
attr_reader :sub_building
|
|
72
|
+
|
|
73
|
+
# The building name if present.
|
|
74
|
+
# Elgar Business Centre
|
|
75
|
+
attr_reader :building_name
|
|
76
|
+
|
|
77
|
+
# The number (or number range) of the building.
|
|
78
|
+
attr_reader :building_number
|
|
79
|
+
|
|
80
|
+
# The primary thoroughfare name.
|
|
81
|
+
# Example: Moseley Road
|
|
82
|
+
attr_reader :primary_street
|
|
83
|
+
|
|
84
|
+
# The secondary thoroughfare name. Usually a small street off the primary.
|
|
85
|
+
attr_reader :secondary_street
|
|
86
|
+
|
|
87
|
+
# The least significant locality (rarely used), possibly a hamlet.
|
|
88
|
+
attr_reader :double_dependent_locality
|
|
89
|
+
|
|
90
|
+
# Less significant locality name, possibly a village.
|
|
91
|
+
# Example: Hallow
|
|
92
|
+
attr_reader :dependent_locality
|
|
93
|
+
|
|
94
|
+
# The number of the PO Box if present (may contain non numeric items).
|
|
95
|
+
attr_reader :po_box
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|