aq_banking 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14c18dc02ea5892da664c7359a56b972906d8d36
4
- data.tar.gz: 7b797ae4ff23ace3ea98bf9fa0a1be6efba507a2
3
+ metadata.gz: fb755fc3ecf19519221f888fbbff0eb89105db84
4
+ data.tar.gz: c914bed545653e9feae6e2e565e0dc74ce8e813f
5
5
  SHA512:
6
- metadata.gz: a8b0fddd90846924229c2c05208f81ff8e44cd416ed0e3d4e4a9ce6a97fc8a666dbb1e8744ee8607ec02323715ddb2ac72f47f4d65b27bce0d2a2dc86fef6d6d
7
- data.tar.gz: 1e6a5b8786683f29c035c079de0bb56deb0fc0b1c0311e997c81b5dc9938fac891d6e74caf58c95044c121086b99f178c233305a80688cc94e39840bfff10515
6
+ metadata.gz: a3b465c9fa966876670fefd120a3e74d3aacf08b1fdd7bb54c3c67e960429d650725376687dcac66f362b37216a53ffc9a485754eb7be6f3303961f5dc59fc22
7
+ data.tar.gz: c458b092d76bd9805f6b80edb7a5f4f75d0eeaf7dac10a8cbb7f1cc4efaad77e65e24ce153965a31f073de79bce778455e3b7fe8fc3a5b974b0913c64287e66c
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![Gem Version](https://badge.fury.io/rb/aq_banking.svg)](https://badge.fury.io/rb/aq_banking)
1
2
  [![Travis Status](https://travis-ci.org/rweng/aq_banking.svg)](https://travis-ci.org/rweng/aq_banking)
2
3
  [![codecov.io](http://codecov.io/github/rweng/aq_banking/coverage.svg?branch=master)](http://codecov.io/github/rweng/aq_banking?branch=master)
3
4
 
@@ -19,6 +19,8 @@ module AqBanking
19
19
  # @return [String]
20
20
  # @raise [SystemCmdError]
21
21
  def send_request(bank_code, account_number, pin_file, from: nil, to: nil)
22
+ logger.debug 'sending request %p' % {bank_code: bank_code, account_number: account_number, pin_file: pin_file, from: from, to: to}
23
+
22
24
  from = Date.parse(from) if from.is_a? String
23
25
  to = Date.parse(to) if to.is_a? String
24
26
 
@@ -35,6 +37,7 @@ module AqBanking
35
37
  def with_pin bank_code, user_id, password, &block
36
38
  pin_file = build_pin_file bank_code: bank_code, user_id: user_id, password: password
37
39
 
40
+ logger.debug 'calling with_pin block with file: %p' % [pin_file]
38
41
  block.call(pin_file.path) if block
39
42
  ensure
40
43
  pin_file.close!
@@ -50,19 +53,19 @@ module AqBanking
50
53
 
51
54
  logger.debug 'calling Commander#with_pin with args %p %p %p' % [bank_code, user_id, password]
52
55
  with_pin bank_code, user_id, password do |pin_file_path|
53
- logger.debug 'pinfile: %p' % [pin_file_path]
54
- unless account_exists? bank_code: bank_code, user_id: user_id
55
- logger.debug 'account (%p) does not exist, adding it' % {bank_code: bank_code, user_id: user_id}
56
- add_account(server_url: server_url, hbci_version: hbci_version,
57
- bank_code: bank_code, user_id: user_id, user_name: user_name)
56
+ # ensure that no old password is in cache
57
+ remove_user bank_code: bank_code, user_id: user_id
58
+
59
+ add_account(server_url: server_url, hbci_version: hbci_version,
60
+ bank_code: bank_code, user_id: user_id, user_name: user_name)
58
61
 
59
- logger.debug 'calling getsysid with %p' % {pin_file: pin_file_path, user_id: user_id, bank_code: bank_code}
60
- call_getsysid pin_file: pin_file_path, user_id: user_id, bank_code: bank_code
61
- end
62
+ call_getsysid pin_file: pin_file_path, user_id: user_id, bank_code: bank_code
62
63
 
63
- logger.debug 'sending request %p' % [bank_code, account_number, pin_file_path, from: from, to: to]
64
64
  send_request(bank_code, account_number, pin_file_path, from: from, to: to)
65
65
  end
66
+ ensure
67
+ # clean up after ourselves
68
+ remove_user bank_code: bank_code, user_id: user_id
66
69
  end
67
70
 
68
71
  # @return [Boolean]
@@ -79,7 +82,20 @@ module AqBanking
79
82
  result.stdout.include?("Bank: de/#{bank_code} User Id: #{user_id}")
80
83
  end
81
84
 
85
+ # removes user at bank with bank-code from aqhbci-tool.
86
+ #
87
+ # @param [String] bank_code
88
+ # @param [String] user_id
89
+ # @return [Boolean]
90
+ def remove_user(bank_code:, user_id:)
91
+ logger.debug 'removing user %p' % {bank_code: bank_code, user_id: user_id}
92
+
93
+ run "aqhbci-tool4 deluser -u %p -b %p" % [user_id, bank_code]
94
+ end
95
+
82
96
  def add_account(server_url:, hbci_version:, bank_code:, user_id:, user_name: '')
97
+ logger.debug 'adding account %p' % {server_url: server_url, hbci_version: hbci_version, bank_code: bank_code, user_id: user_id, user_name: user_name}
98
+
83
99
  cmd = ""
84
100
  cmd << "#{aq_hbci} adduser -t pintan --context=1"
85
101
  cmd << " -b #{bank_code} -u #{user_id}"
@@ -91,6 +107,8 @@ module AqBanking
91
107
  end
92
108
 
93
109
  def call_getsysid(pin_file:, user_id:, bank_code:)
110
+ logger.debug 'calling getsysid with %p' % {pin_file: pin_file, user_id: user_id, bank_code: bank_code}
111
+
94
112
  cmd = "#{aq_hbci} -P #{pin_file} getsysid -u #{user_id} -b #{bank_code}"
95
113
 
96
114
  run_or_raise(cmd, 'Could not get sysid. This might be because the userId or password is wrong. Check if these are the credentials with which you log into your online banking.')
@@ -1,3 +1,3 @@
1
1
  module AqBanking
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aq_banking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robin Wenglewski