aggcat 0.3.3 → 0.3.4
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/README.md +4 -1
- data/lib/aggcat/client.rb +17 -12
- data/lib/aggcat/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e76c9be70762e7631e51a4d2a8d9d5f7929e7b35
|
4
|
+
data.tar.gz: 5b028818231cb8023a7b77a8763e54f584e3a947
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e66e62910a2b0054439010754af5bb91f956644a8ed1049d7d05e05014d6ff0db182907ab49f1178976593d8068e3fb914a9e34ff779a02a7c0f1b17f6796cc2
|
7
|
+
data.tar.gz: fea8cdc454ecfd3f2647c8a88668c0c7a40d2199f2d5c83a44627952b2483b8d04a14558c1bbb72a0d3da2af2e45ca2b7be043a0234f8f7801ed0a5d69a8a6c9
|
data/README.md
CHANGED
@@ -77,11 +77,14 @@ start_date = Date.today - 30
|
|
77
77
|
end_date = Date.today # optional
|
78
78
|
client.account_transactions(account_id, start_date, end_date)
|
79
79
|
|
80
|
+
# update account type
|
81
|
+
client.update_account_type(account_id, 'CREDITCARD')
|
82
|
+
|
80
83
|
# update login credentials
|
81
84
|
client.update_login(institution_id, login_id, new_username, new_password)
|
82
85
|
|
83
86
|
# in case MFA is required
|
84
|
-
client.update_login_confirmation(
|
87
|
+
client.update_login_confirmation(login_id, challenge_session_id, challenge_node_id, answers)
|
85
88
|
|
86
89
|
# you can set scope inline for any request
|
87
90
|
Aggcat.scope(customer_id).account(account_id)
|
data/lib/aggcat/client.rb
CHANGED
@@ -22,9 +22,9 @@ module Aggcat
|
|
22
22
|
get("/institutions/#{institution_id}")
|
23
23
|
end
|
24
24
|
|
25
|
-
def discover_and_add_accounts(institution_id,
|
26
|
-
validate(institution_id: institution_id, username:
|
27
|
-
body = credentials(institution_id,
|
25
|
+
def discover_and_add_accounts(institution_id, *login_credentials)
|
26
|
+
validate(institution_id: institution_id, username: login_credentials[0], password: login_credentials[1])
|
27
|
+
body = credentials(institution_id, login_credentials)
|
28
28
|
post("/institutions/#{institution_id}/logins", body)
|
29
29
|
end
|
30
30
|
|
@@ -57,9 +57,9 @@ module Aggcat
|
|
57
57
|
get("/logins/#{login_id}/accounts")
|
58
58
|
end
|
59
59
|
|
60
|
-
def update_login(institution_id, login_id,
|
61
|
-
validate(institution_id: institution_id, login_id: login_id, username:
|
62
|
-
body = credentials(institution_id,
|
60
|
+
def update_login(institution_id, login_id, *login_credentials)
|
61
|
+
validate(institution_id: institution_id, login_id: login_id, username: login_credentials[0], password: login_credentials[1])
|
62
|
+
body = credentials(institution_id, login_credentials)
|
63
63
|
put("/logins/#{login_id}?refresh=true", body)
|
64
64
|
end
|
65
65
|
|
@@ -133,14 +133,19 @@ module Aggcat
|
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
136
|
-
def credentials(institution_id,
|
136
|
+
def credentials(institution_id, login_credentials)
|
137
137
|
institution = institution(institution_id)
|
138
138
|
raise ArgumentError.new("institution_id #{institution_id} is invalid") if institution.nil? || institution[:result][:institution_detail].nil?
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
139
|
+
institution_login_keys = institution[:result][:institution_detail][:keys][:key].sort { |a, b| a[:display_order].to_i <=> b[:display_order].to_i }
|
140
|
+
|
141
|
+
if institution_login_keys.length != login_credentials.length
|
142
|
+
raise ArgumentError.new("institution_id #{institution_id} requires #{institution_login_keys.length} credential fields but was only given #{login_credentials.length} to authenticate with.")
|
143
|
+
end
|
144
|
+
|
145
|
+
hash = {}
|
146
|
+
institution_login_keys.each_with_index do |institution_login_key, index|
|
147
|
+
hash[institution_login_key[:name]] = login_credentials[index].to_s
|
148
|
+
end
|
144
149
|
|
145
150
|
xml = Builder::XmlMarkup.new
|
146
151
|
xml.InstitutionLogin('xmlns' => LOGIN_NAMESPACE) do |login|
|
data/lib/aggcat/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aggcat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gene Drabkin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth
|
@@ -148,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
148
|
version: 1.3.6
|
149
149
|
requirements: []
|
150
150
|
rubyforge_project:
|
151
|
-
rubygems_version: 2.
|
151
|
+
rubygems_version: 2.2.2
|
152
152
|
signing_key:
|
153
153
|
specification_version: 4
|
154
154
|
summary: Ruby client for Intuit Customer Account Data APIs
|