Sha256: 0d9b47c468a5bdb4b6fc17e3ebf897d56b21ecadeb1dc9f3558a366438346410
Contents?: true
Size: 1019 Bytes
Versions: 13
Compression:
Stored size: 1019 Bytes
Contents
module StarkitBanking module API class Factory def self.get_client(model, action = nil) klass = model.class.name.demodulize case klass when 'Payment' if action.nil? svc = model.transfer_type == 'IMT' ? 'IMT' : 'FT2' return "StarkitBanking::#{model.payment_account.bank_name}::Payment::By#{svc}".constantize.new(model.transfer_type) else return "StarkitBanking::#{model.payment_account.bank_name}::Payment::#{action}".constantize.new(action) end when 'PaymentAccount' return "StarkitBanking::#{model.bank_name}::Account::#{action}".constantize.new(action) when 'BankBeneficiary' return "StarkitBanking::#{model.bank_name}::Beneficiary::#{model.transfer_type}::#{action}".constantize.new(action) end rescue raise ApiFault.new(OpenStruct.new(code: 'sb:413', subCode: nil, reasonText: "API is not yet implemeneted!")) end end end end
Version data entries
13 entries across 13 versions & 1 rubygems