class PostcodeValidation::UseCase::AddressDetailRetriever
Attributes
address_detail_retriever_gateway[R]
logger[R]
Public Class Methods
new(address_detail_retriever_gateway:, logger: nil)
click to toggle source
# File lib/postcode_validation/use_case/address_detail_retriever.rb, line 6 def initialize(address_detail_retriever_gateway:, logger: nil) @address_detail_retriever_gateway = address_detail_retriever_gateway @logger = logger end
Public Instance Methods
execute(id:)
click to toggle source
# File lib/postcode_validation/use_case/address_detail_retriever.rb, line 11 def execute(id:) address = find_address(id) formatted(address) rescue PostcodeValidation::Error::RequestError => e log_error(e) end
Private Instance Methods
find_address(id)
click to toggle source
# File lib/postcode_validation/use_case/address_detail_retriever.rb, line 38 def find_address(id) @address_detail_retriever_gateway.find(id: id) end
formatted(address)
click to toggle source
# File lib/postcode_validation/use_case/address_detail_retriever.rb, line 23 def formatted(address) { address_line_1: address.address_line_1, address_line_2: address.address_line_2, company: address.company, city: address.city, country: address.country, postcode: address.postcode } end
log_error(e)
click to toggle source
# File lib/postcode_validation/use_case/address_detail_retriever.rb, line 34 def log_error(e) logger.error(e) unless logger.nil? end