Class: PostcodeValidation::UseCase::ValidateAddress
- Inherits:
-
Object
- Object
- PostcodeValidation::UseCase::ValidateAddress
- Defined in:
- lib/postcode_validation/use_case/validate_address.rb,
lib/postcode_validation/use_case/validate_address/format_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/regex_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/ar_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/be_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/br_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/es_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/fr_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/gb_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/in_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/my_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/nl_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/sg_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/th_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/use_format_check_only.rb,
lib/postcode_validation/use_case/validate_address/format_validators/vn_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/no_op_postcode_validator.rb,
lib/postcode_validation/use_case/validate_address/format_validators/use_external_postcode_validator.rb
Defined Under Namespace
Modules: FormatValidators Classes: FormatValidator
Instance Method Summary collapse
- #execute(postcode:, country:) ⇒ Object
-
#initialize(address_match_gateway:, logger: nil) ⇒ ValidateAddress
constructor
A new instance of ValidateAddress.
Constructor Details
#initialize(address_match_gateway:, logger: nil) ⇒ ValidateAddress
Returns a new instance of ValidateAddress.
6 7 8 9 10 |
# File 'lib/postcode_validation/use_case/validate_address.rb', line 6 def initialize(address_match_gateway:, logger: nil) @format_validator = FormatValidator.new @address_match_gateway = address_match_gateway @logger = logger end |
Instance Method Details
#execute(postcode:, country:) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/postcode_validation/use_case/validate_address.rb', line 12 def execute(postcode:, country:) @errors = [] check_country(country) postcode = postcode_without_spaces(postcode) return the_postcode_is_valid if use_local_validator?(country) && format_valid_for_country?(country, postcode) check_postcode_format(postcode, country) result = matched_addresses(postcode, country) check_matched_addresses(result) result_payload(result, postcode) rescue PostcodeValidation::Error::RequestError => e gracefully_handle_error(e) end |