class SEPOMEX::Strategy
Constants
- ACROGENESIS
- HCKDRK
Public Class Methods
call(*args, &block)
click to toggle source
# File lib/sepomex/strategy.rb, line 6 def self.call(*args, &block) new(*args, &block).call end
new(zip_code)
click to toggle source
# File lib/sepomex/strategy.rb, line 10 def initialize(zip_code) @zip_code = zip_code @clients = [HCKDRK, ACROGENESIS] end
Public Instance Methods
call()
click to toggle source
# File lib/sepomex/strategy.rb, line 15 def call raise ArgumentError if @zip_code.blank? zip_code_result = {} @clients.each do |client| strategy = processor(client) zip_code_result = strategy.query break if zip_code_result.settlement.present? rescue StandardError => e end raise DataNotFoundError if zip_code_result.blank? || zip_code_result.settlement.blank? zip_code_result end
Private Instance Methods
processor(client)
click to toggle source
# File lib/sepomex/strategy.rb, line 32 def processor(client) case client when HCKDRK SEPOMEX::Clients::Hckdrk.new(@zip_code) when ACROGENESIS SEPOMEX::Clients::Acrogenesis.new(@zip_code) else raise ArgumentError end end