class Hbci::Services::BalanceReceiver
Public Instance Methods
perform()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 6 def perform request_message = MessageFactory.build(connector, dialog) do |hnvsd| hnvsd.add_segment(build_hksal) end request_message.compile @response = Response.new(connector.post(request_message)) raise @response.to_s unless request_successful? @response.find('HNVSD').find('HISAL').booked_amount end
supported_versions()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 19 def supported_versions dialog.response.find('HNVSD').find_all('HISALS').map { |x| x.head.version.to_i } end
Private Instance Methods
build_hksal()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 36 def build_hksal case version when 4 then build_hksal_v4 when 5 then build_hksal_v5 when 6 then build_hksal_v6 when 7 then build_hksal_v7 end end
build_hksal_v4()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 45 def build_hksal_v4 hksal = Segments::HKSALv4.new hksal.account.code = iban.extended_data.bank_code hksal.account.number = iban.extended_data.account_number hksal end
build_hksal_v5()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 52 def build_hksal_v5 hksal = Segments::HKSALv5.new hksal.account.number = iban.extended_data.account_number hksal.account.kik_blz = iban.extended_data.bank_code hksal end
build_hksal_v6()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 59 def build_hksal_v6 hksal = Segments::HKSALv6.new hksal.account.number = iban.extended_data.account_number hksal.account.kik_blz = iban.extended_data.bank_code hksal end
build_hksal_v7()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 66 def build_hksal_v7 hksal = Segments::HKSALv7.new hksal.account.iban = iban.to_s hksal.account.bic = iban.extended_data.bic hksal.account.kik_blz = iban.extended_data.bank_code hksal.account.kik_country = 280 hksal.account.number = iban.extended_data.account_number hksal end
request_successful?()
click to toggle source
# File lib/hbci/services/balance_receiver.rb, line 25 def request_successful? hirmg = @response.find('HIRMG') return false if hirmg && hirmg.ret_val_1.code[0].to_i == 9 hnvsd = @response.find('HNVSD') hirmg = hnvsd.find('HIRMG') return false if hirmg && hirmg.ret_val_1.code[0].to_i == 9 true end