jemquarie 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +2 -1
- data/jemquarie.gemspec +6 -6
- data/lib/jemquarie/importer.rb +10 -4
- data/lib/jemquarie/parser/account_details.rb +1 -1
- data/lib/jemquarie/parser/cash_transactions.rb +1 -0
- data/lib/jemquarie/version.rb +1 -1
- data/spec/lib/{accont_details_spec.rb → account_details_spec.rb} +1 -1
- data/spec/lib/balance_spec.rb +1 -1
- data/spec/lib/importer_spec.rb +28 -2
- data/spec/spec_helper.rb +0 -1
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2483dc8664dc67791d1212dcc5cecb059e08d670
|
4
|
+
data.tar.gz: c31b6b5832813df0bb32a748e1dbcec1a06938b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8c6edbf4d4274773f17e4aaf4eea5aac09fcbe8419698f89d424db338bf03f5604c16573426ec63e26ce223e56dbf166d0902538e659bcca070dc25efa9dbe6
|
7
|
+
data.tar.gz: 4808404adef840d4cfecdcedbdd9b390b0acb11a0d3e037f2e22c0a6395430a63bfdcee9820ec6f7c28443230ba1209da2104a789adc04b0a32daf447a005b07
|
data/.travis.yml
CHANGED
data/jemquarie.gemspec
CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "savon", '~> 2.
|
22
|
-
spec.add_runtime_dependency "activesupport", '
|
21
|
+
spec.add_dependency "savon", '~> 2.11'
|
22
|
+
spec.add_runtime_dependency "activesupport", '~> 3.0'
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler", '
|
25
|
-
spec.add_development_dependency "rake", '
|
26
|
-
spec.add_development_dependency "fakeweb", '
|
27
|
-
spec.add_development_dependency "rspec", '~>
|
24
|
+
spec.add_development_dependency "bundler", '~> 1.11'
|
25
|
+
spec.add_development_dependency "rake", '~> 11.2'
|
26
|
+
spec.add_development_dependency "fakeweb", '~> 1.3'
|
27
|
+
spec.add_development_dependency "rspec", '~> 3.4'
|
28
28
|
end
|
data/lib/jemquarie/importer.rb
CHANGED
@@ -5,8 +5,14 @@ module Jemquarie
|
|
5
5
|
include Parser::CashTransactions
|
6
6
|
|
7
7
|
def cash_transactions(date_from = (Date.today - 1.day), date_to = Date.today, account_number = '', include_closed = 'Y')
|
8
|
-
if account_number.blank?
|
9
|
-
|
8
|
+
if account_number.blank?
|
9
|
+
if (date_to && date_from)
|
10
|
+
if (date_to - date_from).days > 2.days # With no account_number you can only get 2 days
|
11
|
+
return {:error => "Cannot request more than 2 days of transactions if not account is specified"}
|
12
|
+
end
|
13
|
+
else # With no account_number you need dates
|
14
|
+
return {:error => "Missing from and to dates"}
|
15
|
+
end
|
10
16
|
end
|
11
17
|
response = @client.call(:generate_xml_extract, :message => create_message(date_from, date_to, account_number, include_closed))
|
12
18
|
return parse_cash_transactions_response(response) if response.success?
|
@@ -26,8 +32,8 @@ private
|
|
26
32
|
:strings => [
|
27
33
|
{
|
28
34
|
:item0 => account_number, # Account Number
|
29
|
-
:item1 => date_from.strftime("%Y-%m-%dT%H:%M:%S"), # START DATE
|
30
|
-
:item2 => date_to.strftime("%Y-%m-%dT%H:%M:%S"), # TO DATE
|
35
|
+
:item1 => date_from ? date_from.strftime("%Y-%m-%dT%H:%M:%S") : '', # START DATE
|
36
|
+
:item2 => date_to ? date_to.strftime("%Y-%m-%dT%H:%M:%S") : '', # TO DATE
|
31
37
|
:item3 => include_closed # Include closed accounts flag
|
32
38
|
}
|
33
39
|
]
|
@@ -23,6 +23,7 @@ private
|
|
23
23
|
def parse_single_transaction(transaction)
|
24
24
|
{
|
25
25
|
:foreign_identifier => transaction["TransactionId"],
|
26
|
+
:account_number => transaction["AccountNumber"],
|
26
27
|
:date_time => Time.parse(transaction["TransactionDate"] + " UTC"),
|
27
28
|
:amount => transaction["DebitCredit"] == 'C' ? transaction["Amount"] : ('-' + transaction["Amount"]),
|
28
29
|
:type_name => translate_transaction_type(transaction["TransactionType"]),
|
data/lib/jemquarie/version.rb
CHANGED
@@ -18,7 +18,7 @@ describe Jemquarie::AccountDetails do
|
|
18
18
|
@result = importer.details(Date.parse("01/01/2000"), Date.today)
|
19
19
|
end
|
20
20
|
it "should work" do
|
21
|
-
expect(@result).to
|
21
|
+
expect(@result.size).to eq(182)
|
22
22
|
first_res = @result.first
|
23
23
|
expect(first_res[:account_number]).to eq("118115765")
|
24
24
|
expect(first_res[:account_name]).to eq("JAMES ANDREW LOCKETT")
|
data/spec/lib/balance_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe Jemquarie::Balance do
|
|
19
19
|
@result = importer.balance
|
20
20
|
end
|
21
21
|
it "should work" do
|
22
|
-
expect(@result).to
|
22
|
+
expect(@result.size).to eq(106)
|
23
23
|
first_result = @result.first
|
24
24
|
expect(first_result[:account_number]).to eq("118498062")
|
25
25
|
expect(first_result[:ledger_balance]).to eq("0.0000")
|
data/spec/lib/importer_spec.rb
CHANGED
@@ -19,10 +19,11 @@ describe Jemquarie::Importer do
|
|
19
19
|
end
|
20
20
|
it "should work" do
|
21
21
|
expect(@result).to be_kind_of Array
|
22
|
-
expect(@result).to
|
22
|
+
expect(@result.size).to eq(186)
|
23
23
|
|
24
24
|
first_item = @result.first
|
25
25
|
expect(first_item[:foreign_identifier]).to eq("0132058314")
|
26
|
+
expect(first_item[:account_number]).to eq("121741987")
|
26
27
|
expect(first_item[:date_time]).to eq(Time.parse("2008-12-19 00:00:00 UTC"))
|
27
28
|
expect(first_item[:amount]).to eq("-2.4100")
|
28
29
|
expect(first_item[:type_name]).to eq("B-PAY WITHDRAWAL")
|
@@ -32,6 +33,7 @@ describe Jemquarie::Importer do
|
|
32
33
|
|
33
34
|
last_item = @result.last
|
34
35
|
expect(last_item[:foreign_identifier]).to eq("0342606112")
|
36
|
+
expect(last_item[:account_number]).to eq("121741987")
|
35
37
|
expect(last_item[:date_time]).to eq(Time.parse("2014-04-30 00:00:00 UTC"))
|
36
38
|
expect(last_item[:amount]).to eq("0.0600")
|
37
39
|
expect(last_item[:type_name]).to eq("INTEREST PAID")
|
@@ -42,6 +44,7 @@ describe Jemquarie::Importer do
|
|
42
44
|
|
43
45
|
reverse_item = @result.detect{ |row| row[:reverse] == true }
|
44
46
|
expect(reverse_item[:foreign_identifier]).to eq(first_item[:foreign_identifier])
|
47
|
+
expect(reverse_item[:account_number]).to eq("121741987")
|
45
48
|
expect(reverse_item[:date_time]).to eq(Time.parse("2008-12-23 00:00:00 UTC"))
|
46
49
|
expect(reverse_item[:amount]).to eq(first_item[:amount])
|
47
50
|
expect(reverse_item[:type_name]).to eq(first_item[:type_name])
|
@@ -65,7 +68,7 @@ describe Jemquarie::Importer do
|
|
65
68
|
end
|
66
69
|
it "should work" do
|
67
70
|
expect(@result).to be_kind_of Array
|
68
|
-
expect(@result).to
|
71
|
+
expect(@result.size).to eq(1)
|
69
72
|
end
|
70
73
|
end
|
71
74
|
|
@@ -149,4 +152,27 @@ describe Jemquarie::Importer do
|
|
149
152
|
end
|
150
153
|
end
|
151
154
|
|
155
|
+
describe "with no date parameters" do
|
156
|
+
let(:importer) do
|
157
|
+
Jemquarie::Importer.new('valid_code', 'valid_password')
|
158
|
+
end
|
159
|
+
before(:each) do
|
160
|
+
FakeWeb.register_uri(:post, Jemquarie::Jemquarie::BASE_URI,
|
161
|
+
body: File.read('spec/files/transactions/transactions.xml'),
|
162
|
+
content_type: 'text/xml'
|
163
|
+
)
|
164
|
+
end
|
165
|
+
it "should return error when trying to get transactions with no date and no account" do
|
166
|
+
@result = importer.cash_transactions(nil, nil, nil)
|
167
|
+
expect(@result).to be_kind_of Hash
|
168
|
+
expect(@result[:error]).to eq("Missing from and to dates")
|
169
|
+
end
|
170
|
+
|
171
|
+
it "should accept parameters with account number but no date parameters without error" do
|
172
|
+
@result = importer.cash_transactions(nil, nil, '12345')
|
173
|
+
expect(@result).to be_kind_of Array
|
174
|
+
expect(FakeWeb.last_request.body.include?("<tns:item1></tns:item1>")).to be true
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
152
178
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -8,7 +8,6 @@ require 'fakeweb'
|
|
8
8
|
#
|
9
9
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
10
10
|
RSpec.configure do |config|
|
11
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
12
11
|
config.run_all_when_everything_filtered = true
|
13
12
|
config.filter_run :focus
|
14
13
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jemquarie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claudio Contin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: savon
|
@@ -16,84 +16,84 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
19
|
+
version: '2.11'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
26
|
+
version: '2.11'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.11'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.11'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '11.2'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '11.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: fakeweb
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.3
|
75
|
+
version: '1.3'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.3
|
82
|
+
version: '1.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '3.4'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '3.4'
|
97
97
|
description: Connect to Macquarie ESI web services
|
98
98
|
email:
|
99
99
|
- contin@gmail.com
|
@@ -131,7 +131,7 @@ files:
|
|
131
131
|
- spec/files/transactions/transactions.xml
|
132
132
|
- spec/files/transactions/wrong_account_number.xml
|
133
133
|
- spec/files/transactions/wrong_authentication.xml
|
134
|
-
- spec/lib/
|
134
|
+
- spec/lib/account_details_spec.rb
|
135
135
|
- spec/lib/balance_spec.rb
|
136
136
|
- spec/lib/expiry_spec.rb
|
137
137
|
- spec/lib/importer_spec.rb
|
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
157
|
version: '0'
|
158
158
|
requirements: []
|
159
159
|
rubyforge_project:
|
160
|
-
rubygems_version: 2.4.
|
160
|
+
rubygems_version: 2.4.8
|
161
161
|
signing_key:
|
162
162
|
specification_version: 4
|
163
163
|
summary: Ruby Gem for extracting cash transactions from Macquarie ESI web service
|
@@ -172,7 +172,7 @@ test_files:
|
|
172
172
|
- spec/files/transactions/transactions.xml
|
173
173
|
- spec/files/transactions/wrong_account_number.xml
|
174
174
|
- spec/files/transactions/wrong_authentication.xml
|
175
|
-
- spec/lib/
|
175
|
+
- spec/lib/account_details_spec.rb
|
176
176
|
- spec/lib/balance_spec.rb
|
177
177
|
- spec/lib/expiry_spec.rb
|
178
178
|
- spec/lib/importer_spec.rb
|