atrium-ruby 1.3.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +5 -2
- data/README.md +132 -66
- data/Rakefile +7 -4
- data/atrium-ruby.gemspec +40 -32
- data/docs/Account.md +35 -0
- data/docs/AccountNumber.md +12 -0
- data/docs/AccountNumbersResponseBody.md +8 -0
- data/docs/AccountOwner.md +18 -0
- data/docs/AccountOwnersResponseBody.md +8 -0
- data/docs/AccountResponseBody.md +8 -0
- data/docs/AccountsApi.md +174 -0
- data/docs/AccountsResponseBody.md +9 -0
- data/docs/Challenge.md +13 -0
- data/docs/ChallengeOption.md +10 -0
- data/docs/ChallengesResponseBody.md +8 -0
- data/docs/ConnectWidget.md +9 -0
- data/docs/ConnectWidgetApi.md +44 -0
- data/docs/ConnectWidgetRequestBody.md +11 -0
- data/docs/ConnectWidgetResponseBody.md +8 -0
- data/docs/CredentialOption.md +9 -0
- data/docs/CredentialRequest.md +9 -0
- data/docs/CredentialResponse.md +12 -0
- data/docs/CredentialsResponseBody.md +8 -0
- data/docs/IdentityApi.md +82 -0
- data/docs/Institution.md +14 -0
- data/docs/InstitutionResponseBody.md +8 -0
- data/docs/InstitutionsApi.md +120 -0
- data/docs/InstitutionsResponseBody.md +9 -0
- data/docs/Member.md +18 -0
- data/docs/MemberConnectionStatus.md +16 -0
- data/docs/MemberConnectionStatusResponseBody.md +8 -0
- data/docs/MemberCreateRequest.md +11 -0
- data/docs/MemberCreateRequestBody.md +8 -0
- data/docs/MemberResponseBody.md +8 -0
- data/docs/MemberResumeRequest.md +8 -0
- data/docs/MemberResumeRequestBody.md +8 -0
- data/docs/MemberUpdateRequest.md +10 -0
- data/docs/MemberUpdateRequestBody.md +8 -0
- data/docs/MembersApi.md +487 -0
- data/docs/MembersResponseBody.md +9 -0
- data/docs/Pagination.md +11 -0
- data/docs/Transaction.md +38 -0
- data/docs/TransactionCleanseAndCategorizeRequest.md +11 -0
- data/docs/TransactionCleanseAndCategorizeResponse.md +20 -0
- data/docs/TransactionResponseBody.md +8 -0
- data/docs/TransactionsApi.md +126 -0
- data/docs/TransactionsCleanseAndCategorizeRequestBody.md +8 -0
- data/docs/TransactionsCleanseAndCategorizeResponseBody.md +8 -0
- data/docs/TransactionsResponseBody.md +9 -0
- data/docs/User.md +11 -0
- data/docs/UserCreateRequestBody.md +8 -0
- data/docs/UserResponseBody.md +8 -0
- data/docs/UserUpdateRequestBody.md +8 -0
- data/docs/UsersApi.md +193 -0
- data/docs/UsersResponseBody.md +9 -0
- data/docs/VerificationApi.md +120 -0
- data/git_push.sh +49 -0
- data/lib/atrium-ruby.rb +88 -0
- data/lib/atrium-ruby/api/accounts_api.rb +272 -0
- data/lib/atrium-ruby/api/atrium_client.rb +28 -0
- data/lib/atrium-ruby/api/connect_widget_api.rb +82 -0
- data/lib/atrium-ruby/api/identity_api.rb +140 -0
- data/lib/atrium-ruby/api/institutions_api.rb +181 -0
- data/lib/atrium-ruby/api/members_api.rb +749 -0
- data/lib/atrium-ruby/api/transactions_api.rb +198 -0
- data/lib/atrium-ruby/api/users_api.rb +287 -0
- data/lib/atrium-ruby/api/verification_api.rb +198 -0
- data/lib/atrium-ruby/api_client.rb +384 -0
- data/lib/atrium-ruby/api_error.rb +34 -0
- data/lib/atrium-ruby/configuration.rb +212 -0
- data/lib/atrium-ruby/models/account.rb +422 -0
- data/lib/atrium-ruby/models/account_number.rb +215 -0
- data/lib/atrium-ruby/models/account_numbers_response_body.rb +181 -0
- data/lib/atrium-ruby/models/account_owner.rb +269 -0
- data/lib/atrium-ruby/models/account_owners_response_body.rb +181 -0
- data/lib/atrium-ruby/models/account_response_body.rb +179 -0
- data/lib/atrium-ruby/models/accounts_response_body.rb +190 -0
- data/lib/atrium-ruby/models/challenge.rb +226 -0
- data/lib/atrium-ruby/models/challenge_option.rb +197 -0
- data/lib/atrium-ruby/models/challenges_response_body.rb +181 -0
- data/lib/atrium-ruby/models/connect_widget.rb +188 -0
- data/lib/atrium-ruby/models/connect_widget_request_body.rb +206 -0
- data/lib/atrium-ruby/models/connect_widget_response_body.rb +179 -0
- data/lib/atrium-ruby/models/credential_option.rb +188 -0
- data/lib/atrium-ruby/models/credential_request.rb +188 -0
- data/lib/atrium-ruby/models/credential_response.rb +217 -0
- data/lib/atrium-ruby/models/credentials_response_body.rb +181 -0
- data/lib/atrium-ruby/models/institution.rb +233 -0
- data/lib/atrium-ruby/models/institution_response_body.rb +179 -0
- data/lib/atrium-ruby/models/institutions_response_body.rb +190 -0
- data/lib/atrium-ruby/models/member.rb +269 -0
- data/lib/atrium-ruby/models/member_connection_status.rb +253 -0
- data/lib/atrium-ruby/models/member_connection_status_response_body.rb +179 -0
- data/lib/atrium-ruby/models/member_create_request.rb +218 -0
- data/lib/atrium-ruby/models/member_create_request_body.rb +179 -0
- data/lib/atrium-ruby/models/member_response_body.rb +179 -0
- data/lib/atrium-ruby/models/member_resume_request.rb +181 -0
- data/lib/atrium-ruby/models/member_resume_request_body.rb +179 -0
- data/lib/atrium-ruby/models/member_update_request.rb +199 -0
- data/lib/atrium-ruby/models/member_update_request_body.rb +179 -0
- data/lib/atrium-ruby/models/members_response_body.rb +190 -0
- data/lib/atrium-ruby/models/pagination.rb +206 -0
- data/lib/atrium-ruby/models/transaction.rb +449 -0
- data/lib/atrium-ruby/models/transaction_cleanse_and_categorize_request.rb +206 -0
- data/lib/atrium-ruby/models/transaction_cleanse_and_categorize_response.rb +287 -0
- data/lib/atrium-ruby/models/transaction_response_body.rb +179 -0
- data/lib/atrium-ruby/models/transactions_cleanse_and_categorize_request_body.rb +181 -0
- data/lib/atrium-ruby/models/transactions_cleanse_and_categorize_response_body.rb +181 -0
- data/lib/atrium-ruby/models/transactions_response_body.rb +190 -0
- data/lib/atrium-ruby/models/user.rb +206 -0
- data/lib/atrium-ruby/models/user_create_request_body.rb +179 -0
- data/lib/atrium-ruby/models/user_response_body.rb +179 -0
- data/lib/atrium-ruby/models/user_update_request_body.rb +179 -0
- data/lib/atrium-ruby/models/users_response_body.rb +190 -0
- data/lib/atrium-ruby/version.rb +11 -0
- data/spec/api/accounts_api_spec.rb +88 -0
- data/spec/api/connect_widget_api_spec.rb +43 -0
- data/spec/api/identity_api_spec.rb +56 -0
- data/spec/api/institutions_api_spec.rb +68 -0
- data/spec/api/members_api_spec.rb +195 -0
- data/spec/api/transactions_api_spec.rb +71 -0
- data/spec/api/users_api_spec.rb +92 -0
- data/spec/api/verification_api_spec.rb +69 -0
- data/spec/api_client_spec.rb +222 -0
- data/spec/configuration_spec.rb +38 -0
- data/spec/models/account_number_spec.rb +60 -0
- data/spec/models/account_numbers_response_body_spec.rb +36 -0
- data/spec/models/account_owner_spec.rb +96 -0
- data/spec/models/account_owners_response_body_spec.rb +36 -0
- data/spec/models/account_response_body_spec.rb +36 -0
- data/spec/models/account_spec.rb +198 -0
- data/spec/models/accounts_response_body_spec.rb +42 -0
- data/spec/models/challenge_option_spec.rb +48 -0
- data/spec/models/challenge_spec.rb +66 -0
- data/spec/models/challenges_response_body_spec.rb +36 -0
- data/spec/models/connect_widget_request_body_spec.rb +54 -0
- data/spec/models/connect_widget_response_body_spec.rb +36 -0
- data/spec/models/connect_widget_spec.rb +42 -0
- data/spec/models/credential_option_spec.rb +42 -0
- data/spec/models/credential_request_spec.rb +42 -0
- data/spec/models/credential_response_spec.rb +60 -0
- data/spec/models/credentials_response_body_spec.rb +36 -0
- data/spec/models/institution_response_body_spec.rb +36 -0
- data/spec/models/institution_spec.rb +72 -0
- data/spec/models/institutions_response_body_spec.rb +42 -0
- data/spec/models/member_connection_status_response_body_spec.rb +36 -0
- data/spec/models/member_connection_status_spec.rb +84 -0
- data/spec/models/member_create_request_body_spec.rb +36 -0
- data/spec/models/member_create_request_spec.rb +54 -0
- data/spec/models/member_response_body_spec.rb +36 -0
- data/spec/models/member_resume_request_body_spec.rb +36 -0
- data/spec/models/member_resume_request_spec.rb +36 -0
- data/spec/models/member_spec.rb +96 -0
- data/spec/models/member_update_request_body_spec.rb +36 -0
- data/spec/models/member_update_request_spec.rb +48 -0
- data/spec/models/members_response_body_spec.rb +42 -0
- data/spec/models/pagination_spec.rb +54 -0
- data/spec/models/transaction_cleanse_and_categorize_request_spec.rb +54 -0
- data/spec/models/transaction_cleanse_and_categorize_response_spec.rb +108 -0
- data/spec/models/transaction_response_body_spec.rb +36 -0
- data/spec/models/transaction_spec.rb +216 -0
- data/spec/models/transactions_cleanse_and_categorize_request_body_spec.rb +36 -0
- data/spec/models/transactions_cleanse_and_categorize_response_body_spec.rb +36 -0
- data/spec/models/transactions_response_body_spec.rb +42 -0
- data/spec/models/user_create_request_body_spec.rb +36 -0
- data/spec/models/user_response_body_spec.rb +36 -0
- data/spec/models/user_spec.rb +54 -0
- data/spec/models/user_update_request_body_spec.rb +36 -0
- data/spec/models/users_response_body_spec.rb +42 -0
- data/spec/spec_helper.rb +107 -0
- metadata +323 -91
- data/.gitignore +0 -10
- data/.rubocop.yml +0 -12
- data/.travis.yml +0 -12
- data/bin/console +0 -14
- data/bin/demo +0 -49
- data/bin/setup +0 -8
- data/examples/accounts_and_transactions.rb +0 -49
- data/examples/all_endpoints.rb +0 -226
- data/examples/example_workflow.rb +0 -176
- data/examples/multi_factor_authentication.rb +0 -57
- data/examples/update_credentials.rb +0 -58
- data/examples/user_and_member_creation.rb +0 -53
- data/lib/atrium.rb +0 -40
- data/lib/atrium/account.rb +0 -100
- data/lib/atrium/account_number.rb +0 -13
- data/lib/atrium/account_owner.rb +0 -19
- data/lib/atrium/challenge.rb +0 -13
- data/lib/atrium/client.rb +0 -51
- data/lib/atrium/connect.rb +0 -34
- data/lib/atrium/credential.rb +0 -11
- data/lib/atrium/error.rb +0 -4
- data/lib/atrium/institution.rb +0 -38
- data/lib/atrium/member.rb +0 -264
- data/lib/atrium/pageable.rb +0 -74
- data/lib/atrium/paginate.rb +0 -92
- data/lib/atrium/ruby.rb +0 -3
- data/lib/atrium/transaction.rb +0 -74
- data/lib/atrium/user.rb +0 -150
- data/lib/atrium/version.rb +0 -3
data/lib/atrium/ruby.rb
DELETED
data/lib/atrium/transaction.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
module Atrium
|
2
|
-
class Transaction
|
3
|
-
extend ::Atrium::Pageable
|
4
|
-
include ::ActiveAttr::Model
|
5
|
-
|
6
|
-
attribute :account_guid
|
7
|
-
attribute :amount
|
8
|
-
attribute :category
|
9
|
-
attribute :check_number
|
10
|
-
attribute :check_number_string
|
11
|
-
attribute :created_at
|
12
|
-
attribute :date
|
13
|
-
attribute :description
|
14
|
-
attribute :guid
|
15
|
-
attribute :id
|
16
|
-
attribute :is_bill_pay
|
17
|
-
attribute :is_direct_deposit
|
18
|
-
attribute :is_expense
|
19
|
-
attribute :is_fee
|
20
|
-
attribute :is_income
|
21
|
-
attribute :is_overdraft_fee
|
22
|
-
attribute :is_payroll_advance
|
23
|
-
attribute :latitude
|
24
|
-
attribute :longitude
|
25
|
-
attribute :member_guid
|
26
|
-
attribute :memo
|
27
|
-
attribute :merchant_category_code
|
28
|
-
attribute :original_description
|
29
|
-
attribute :posted_at
|
30
|
-
attribute :status
|
31
|
-
attribute :top_level_category
|
32
|
-
attribute :transacted_at
|
33
|
-
attribute :type
|
34
|
-
attribute :updated_at
|
35
|
-
attribute :user_guid
|
36
|
-
|
37
|
-
def self.categorize_and_describe(transaction_hash = {})
|
38
|
-
endpoint = "/categorize_and_describe"
|
39
|
-
body = { :transactions => transaction_hash }
|
40
|
-
transaction_response = ::Atrium.client.make_request(:post, endpoint, body)
|
41
|
-
|
42
|
-
transaction_response["transactions"].map do |transaction|
|
43
|
-
::Atrium::Transaction.new(transaction)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def self.list(options = {})
|
48
|
-
options = _transaction_pagination_options(options)
|
49
|
-
paginate(options)
|
50
|
-
end
|
51
|
-
|
52
|
-
def self.list_each(options = {})
|
53
|
-
options = _transaction_pagination_options(options)
|
54
|
-
paginate_each(options) { |transaction| yield transaction }
|
55
|
-
end
|
56
|
-
|
57
|
-
def self.list_in_batches(options = {})
|
58
|
-
options = _transaction_pagination_options(options)
|
59
|
-
paginate_in_batches(options) { |batch| yield batch }
|
60
|
-
end
|
61
|
-
|
62
|
-
def self.read(user_guid:, transaction_guid:)
|
63
|
-
endpoint = "/users/#{user_guid}/transactions/#{transaction_guid}"
|
64
|
-
raw_transaction = ::Atrium.client.make_request(:get, endpoint)
|
65
|
-
::Atrium::Transaction.new(raw_transaction["transaction"])
|
66
|
-
end
|
67
|
-
|
68
|
-
def self._transaction_pagination_options(options)
|
69
|
-
user_guid = options.fetch(:user_guid)
|
70
|
-
endpoint = "/users/#{user_guid}/transactions"
|
71
|
-
options.merge(:endpoint => endpoint, :resource => "transactions")
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
data/lib/atrium/user.rb
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
module Atrium
|
2
|
-
class User
|
3
|
-
extend ::Atrium::Pageable
|
4
|
-
include ::ActiveAttr::Model
|
5
|
-
|
6
|
-
# ATTRIBUTES
|
7
|
-
attribute :guid
|
8
|
-
attribute :identifier
|
9
|
-
attribute :is_disabled
|
10
|
-
attribute :metadata
|
11
|
-
|
12
|
-
##
|
13
|
-
# CLASS METHODS
|
14
|
-
#
|
15
|
-
def self.create(identifier:, is_disabled:, metadata:)
|
16
|
-
endpoint = "/users"
|
17
|
-
body = user_body(identifier, is_disabled, metadata)
|
18
|
-
response = ::Atrium.client.make_request(:post, endpoint, body)
|
19
|
-
|
20
|
-
user_params = response["user"]
|
21
|
-
::Atrium::User.new(user_params)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.list(options = {})
|
25
|
-
options = _user_pagination_options(options)
|
26
|
-
paginate(options)
|
27
|
-
end
|
28
|
-
|
29
|
-
def self.list_each(options = {})
|
30
|
-
options = _user_pagination_options(options)
|
31
|
-
paginate_each(options) { |user| yield user }
|
32
|
-
end
|
33
|
-
|
34
|
-
def self.list_in_batches(options = {})
|
35
|
-
options = _user_pagination_options(options)
|
36
|
-
paginate_in_batches(options) { |batch| yield batch }
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.read(guid:)
|
40
|
-
endpoint = "/users/#{guid}"
|
41
|
-
response = ::Atrium.client.make_request(:get, endpoint)
|
42
|
-
|
43
|
-
user_params = response["user"]
|
44
|
-
::Atrium::User.new(user_params)
|
45
|
-
end
|
46
|
-
|
47
|
-
##
|
48
|
-
# INSTANCE METHODS
|
49
|
-
#
|
50
|
-
def accounts(options = {})
|
51
|
-
options = _account_pagination_options(options)
|
52
|
-
self.class.paginate(options)
|
53
|
-
end
|
54
|
-
|
55
|
-
def each_account(options = {})
|
56
|
-
options = _account_pagination_options(options)
|
57
|
-
self.class.paginate_each(options) { |account| yield account }
|
58
|
-
end
|
59
|
-
|
60
|
-
def accounts_in_batches(options = {})
|
61
|
-
options = _account_pagination_options(options)
|
62
|
-
self.class.paginate_in_batches(options) { |batch| yield batch }
|
63
|
-
end
|
64
|
-
|
65
|
-
def delete
|
66
|
-
endpoint = "/users/#{guid}"
|
67
|
-
::Atrium.client.make_request(:delete, endpoint)
|
68
|
-
|
69
|
-
self
|
70
|
-
end
|
71
|
-
|
72
|
-
def members(options = {})
|
73
|
-
options = _member_pagination_options(options)
|
74
|
-
self.class.paginate(options)
|
75
|
-
end
|
76
|
-
|
77
|
-
def each_member(options = {})
|
78
|
-
options = _member_pagination_options(options)
|
79
|
-
self.class.paginate_each(options) { |member| yield member }
|
80
|
-
end
|
81
|
-
|
82
|
-
def members_in_batches(options = {})
|
83
|
-
options = _member_pagination_options(options)
|
84
|
-
self.class.paginate_in_batches(options) { |batch| yield batch }
|
85
|
-
end
|
86
|
-
|
87
|
-
def transactions(options = {})
|
88
|
-
options = _transaction_pagination_options(options)
|
89
|
-
self.class.paginate(options)
|
90
|
-
end
|
91
|
-
|
92
|
-
def each_transaction(options = {})
|
93
|
-
options = _transaction_pagination_options(options)
|
94
|
-
self.class.paginate_each(options) { |transaction| yield transaction }
|
95
|
-
end
|
96
|
-
|
97
|
-
def transactions_in_batches(options = {})
|
98
|
-
options = _transaction_pagination_options(options)
|
99
|
-
self.class.paginate_in_batches(options) { |batch| yield batch }
|
100
|
-
end
|
101
|
-
|
102
|
-
def update(params)
|
103
|
-
endpoint = "/users/#{guid}"
|
104
|
-
body = update_params(params)
|
105
|
-
response = ::Atrium.client.make_request(:put, endpoint, body)
|
106
|
-
|
107
|
-
user_params = response["user"]
|
108
|
-
assign_attributes(user_params)
|
109
|
-
self
|
110
|
-
end
|
111
|
-
|
112
|
-
def self._user_pagination_options(options)
|
113
|
-
options.merge(:endpoint => "/users", :resource => "users")
|
114
|
-
end
|
115
|
-
|
116
|
-
private
|
117
|
-
|
118
|
-
def _account_pagination_options(options)
|
119
|
-
endpoint = "/users/#{guid}/accounts"
|
120
|
-
options.merge(:endpoint => endpoint, :resource => "accounts", :klass => ::Atrium::Account)
|
121
|
-
end
|
122
|
-
|
123
|
-
def _member_pagination_options(options)
|
124
|
-
endpoint = "/users/#{guid}/members"
|
125
|
-
options.merge(:endpoint => endpoint, :resource => "members", :klass => ::Atrium::Member)
|
126
|
-
end
|
127
|
-
|
128
|
-
def _transaction_pagination_options(options)
|
129
|
-
endpoint = "/users/#{guid}/transactions"
|
130
|
-
options.merge(:endpoint => endpoint, :resource => "transactions", :klass => ::Atrium::Transaction)
|
131
|
-
end
|
132
|
-
|
133
|
-
def update_params(params)
|
134
|
-
{
|
135
|
-
:user => params
|
136
|
-
}
|
137
|
-
end
|
138
|
-
|
139
|
-
def self.user_body(identifier, is_disabled, metadata)
|
140
|
-
{
|
141
|
-
:user => {
|
142
|
-
:identifier => identifier,
|
143
|
-
:is_disabled => is_disabled,
|
144
|
-
:metadata => metadata
|
145
|
-
}
|
146
|
-
}
|
147
|
-
end
|
148
|
-
private_class_method :user_body
|
149
|
-
end
|
150
|
-
end
|
data/lib/atrium/version.rb
DELETED