mx-platform-ruby 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +84 -0
  4. data/README.md +236 -33
  5. data/Rakefile +8 -9
  6. data/lib/mx-platform-ruby.rb +126 -35
  7. data/lib/mx-platform-ruby/api/mx_platform_api.rb +4917 -0
  8. data/lib/mx-platform-ruby/api_client.rb +395 -0
  9. data/lib/mx-platform-ruby/api_error.rb +57 -0
  10. data/lib/mx-platform-ruby/configuration.rb +276 -0
  11. data/lib/mx-platform-ruby/models/account.rb +569 -0
  12. data/lib/mx-platform-ruby/models/account_number.rb +281 -0
  13. data/lib/mx-platform-ruby/models/account_numbers_response_body.rb +229 -0
  14. data/lib/mx-platform-ruby/models/account_owner.rb +317 -0
  15. data/lib/mx-platform-ruby/models/account_owners_response_body.rb +229 -0
  16. data/lib/mx-platform-ruby/models/account_response_body.rb +218 -0
  17. data/lib/mx-platform-ruby/models/account_update_request.rb +218 -0
  18. data/lib/mx-platform-ruby/models/account_update_request_body.rb +218 -0
  19. data/lib/mx-platform-ruby/models/accounts_response_body.rb +229 -0
  20. data/lib/mx-platform-ruby/models/categories_response_body.rb +229 -0
  21. data/lib/mx-platform-ruby/models/category.rb +281 -0
  22. data/lib/mx-platform-ruby/models/category_create_request.rb +241 -0
  23. data/lib/mx-platform-ruby/models/category_create_request_body.rb +218 -0
  24. data/lib/mx-platform-ruby/models/category_response_body.rb +218 -0
  25. data/lib/mx-platform-ruby/models/category_update_request.rb +227 -0
  26. data/lib/mx-platform-ruby/models/category_update_request_body.rb +218 -0
  27. data/lib/mx-platform-ruby/models/challenge.rb +276 -0
  28. data/lib/mx-platform-ruby/models/challenge_image_options.rb +236 -0
  29. data/lib/mx-platform-ruby/models/challenge_options.rb +227 -0
  30. data/lib/mx-platform-ruby/models/challenges_response_body.rb +229 -0
  31. data/lib/mx-platform-ruby/models/connect_widget.rb +227 -0
  32. data/lib/mx-platform-ruby/models/connect_widget_request.rb +308 -0
  33. data/lib/mx-platform-ruby/models/connect_widget_request_body.rb +218 -0
  34. data/lib/mx-platform-ruby/models/connect_widget_response_body.rb +218 -0
  35. data/lib/mx-platform-ruby/models/credential.rb +254 -0
  36. data/lib/mx-platform-ruby/models/credential_request.rb +227 -0
  37. data/lib/mx-platform-ruby/models/credentials_response_body.rb +229 -0
  38. data/lib/mx-platform-ruby/models/enhance_transaction.rb +353 -0
  39. data/lib/mx-platform-ruby/models/enhance_transactions_request.rb +264 -0
  40. data/lib/mx-platform-ruby/models/enhance_transactions_request_body.rb +220 -0
  41. data/lib/mx-platform-ruby/models/enhance_transactions_response_body.rb +220 -0
  42. data/lib/mx-platform-ruby/models/holding.rb +371 -0
  43. data/lib/mx-platform-ruby/models/holding_response_body.rb +218 -0
  44. data/lib/mx-platform-ruby/models/holdings_response_body.rb +229 -0
  45. data/lib/mx-platform-ruby/models/inline_response200.rb +218 -0
  46. data/lib/mx-platform-ruby/models/institution.rb +299 -0
  47. data/lib/mx-platform-ruby/models/institution_response_body.rb +218 -0
  48. data/lib/mx-platform-ruby/models/institutions_response_body.rb +229 -0
  49. data/lib/mx-platform-ruby/models/member.rb +317 -0
  50. data/lib/mx-platform-ruby/models/member_create_request.rb +284 -0
  51. data/lib/mx-platform-ruby/models/member_create_request_body.rb +236 -0
  52. data/lib/mx-platform-ruby/models/member_response_body.rb +218 -0
  53. data/lib/mx-platform-ruby/models/member_resume_request.rb +220 -0
  54. data/lib/mx-platform-ruby/models/member_resume_request_body.rb +218 -0
  55. data/lib/mx-platform-ruby/models/member_status.rb +292 -0
  56. data/lib/mx-platform-ruby/models/member_status_response_body.rb +218 -0
  57. data/lib/mx-platform-ruby/models/member_update_request.rb +256 -0
  58. data/lib/mx-platform-ruby/models/member_update_request_body.rb +218 -0
  59. data/lib/mx-platform-ruby/models/members_response_body.rb +229 -0
  60. data/lib/mx-platform-ruby/models/merchant.rb +263 -0
  61. data/lib/mx-platform-ruby/models/merchant_response_body.rb +218 -0
  62. data/lib/mx-platform-ruby/models/merchants_response_body.rb +229 -0
  63. data/lib/mx-platform-ruby/models/o_auth_window.rb +227 -0
  64. data/lib/mx-platform-ruby/models/o_auth_window_response_body.rb +218 -0
  65. data/lib/mx-platform-ruby/models/pagination.rb +245 -0
  66. data/lib/mx-platform-ruby/models/statement.rb +281 -0
  67. data/lib/mx-platform-ruby/models/statement_response_body.rb +218 -0
  68. data/lib/mx-platform-ruby/models/statements_response_body.rb +229 -0
  69. data/lib/mx-platform-ruby/models/tag.rb +236 -0
  70. data/lib/mx-platform-ruby/models/tag_create_request.rb +223 -0
  71. data/lib/mx-platform-ruby/models/tag_create_request_body.rb +218 -0
  72. data/lib/mx-platform-ruby/models/tag_response_body.rb +218 -0
  73. data/lib/mx-platform-ruby/models/tag_update_request.rb +223 -0
  74. data/lib/mx-platform-ruby/models/tag_update_request_body.rb +218 -0
  75. data/lib/mx-platform-ruby/models/tagging.rb +254 -0
  76. data/lib/mx-platform-ruby/models/tagging_create_request.rb +237 -0
  77. data/lib/mx-platform-ruby/models/tagging_create_request_body.rb +218 -0
  78. data/lib/mx-platform-ruby/models/tagging_response_body.rb +218 -0
  79. data/lib/mx-platform-ruby/models/tagging_update_request.rb +223 -0
  80. data/lib/mx-platform-ruby/models/tagging_update_request_body.rb +218 -0
  81. data/lib/mx-platform-ruby/models/taggings_response_body.rb +229 -0
  82. data/lib/mx-platform-ruby/models/tags_response_body.rb +229 -0
  83. data/lib/mx-platform-ruby/models/transaction.rb +533 -0
  84. data/lib/mx-platform-ruby/models/transaction_response_body.rb +218 -0
  85. data/lib/mx-platform-ruby/models/transaction_rule.rb +272 -0
  86. data/lib/mx-platform-ruby/models/transaction_rule_create_request.rb +246 -0
  87. data/lib/mx-platform-ruby/models/transaction_rule_create_request_body.rb +218 -0
  88. data/lib/mx-platform-ruby/models/transaction_rule_response_body.rb +218 -0
  89. data/lib/mx-platform-ruby/models/transaction_rule_update_request.rb +236 -0
  90. data/lib/mx-platform-ruby/models/transaction_rule_update_request_body.rb +218 -0
  91. data/lib/mx-platform-ruby/models/transaction_rules_response_body.rb +229 -0
  92. data/lib/mx-platform-ruby/models/transaction_update_request.rb +223 -0
  93. data/lib/mx-platform-ruby/models/transaction_update_request_body.rb +218 -0
  94. data/lib/mx-platform-ruby/models/transactions_response_body.rb +229 -0
  95. data/lib/mx-platform-ruby/models/user.rb +254 -0
  96. data/lib/mx-platform-ruby/models/user_create_request.rb +245 -0
  97. data/lib/mx-platform-ruby/models/user_create_request_body.rb +218 -0
  98. data/lib/mx-platform-ruby/models/user_response_body.rb +218 -0
  99. data/lib/mx-platform-ruby/models/user_update_request.rb +245 -0
  100. data/lib/mx-platform-ruby/models/user_update_request_body.rb +218 -0
  101. data/lib/mx-platform-ruby/models/users_response_body.rb +229 -0
  102. data/lib/mx-platform-ruby/models/widget.rb +236 -0
  103. data/lib/mx-platform-ruby/models/widget_request.rb +331 -0
  104. data/lib/mx-platform-ruby/models/widget_request_body.rb +218 -0
  105. data/lib/mx-platform-ruby/models/widget_response_body.rb +218 -0
  106. data/lib/mx-platform-ruby/version.rb +13 -3
  107. data/mx-platform-ruby.gemspec +34 -27
  108. data/openapi/mx_platform_ruby.yml +11 -0
  109. data/spec/api/mx_platform_api_spec.rb +979 -0
  110. data/spec/api_client_spec.rb +188 -0
  111. data/spec/configuration_spec.rb +42 -0
  112. data/spec/models/account_number_spec.rb +76 -0
  113. data/spec/models/account_numbers_response_body_spec.rb +40 -0
  114. data/spec/models/account_owner_spec.rb +100 -0
  115. data/spec/models/account_owners_response_body_spec.rb +40 -0
  116. data/spec/models/account_response_body_spec.rb +34 -0
  117. data/spec/models/account_spec.rb +268 -0
  118. data/spec/models/account_update_request_body_spec.rb +34 -0
  119. data/spec/models/account_update_request_spec.rb +34 -0
  120. data/spec/models/accounts_response_body_spec.rb +40 -0
  121. data/spec/models/categories_response_body_spec.rb +40 -0
  122. data/spec/models/category_create_request_body_spec.rb +34 -0
  123. data/spec/models/category_create_request_spec.rb +46 -0
  124. data/spec/models/category_response_body_spec.rb +34 -0
  125. data/spec/models/category_spec.rb +76 -0
  126. data/spec/models/category_update_request_body_spec.rb +34 -0
  127. data/spec/models/category_update_request_spec.rb +40 -0
  128. data/spec/models/challenge_image_options_spec.rb +46 -0
  129. data/spec/models/challenge_options_spec.rb +40 -0
  130. data/spec/models/challenge_spec.rb +70 -0
  131. data/spec/models/challenges_response_body_spec.rb +40 -0
  132. data/spec/models/connect_widget_request_body_spec.rb +34 -0
  133. data/spec/models/connect_widget_request_spec.rb +94 -0
  134. data/spec/models/connect_widget_response_body_spec.rb +34 -0
  135. data/spec/models/connect_widget_spec.rb +40 -0
  136. data/spec/models/credential_request_spec.rb +40 -0
  137. data/spec/models/credential_spec.rb +58 -0
  138. data/spec/models/credentials_response_body_spec.rb +40 -0
  139. data/spec/models/enhance_transaction_spec.rb +124 -0
  140. data/spec/models/enhance_transactions_request_body_spec.rb +34 -0
  141. data/spec/models/enhance_transactions_request_spec.rb +58 -0
  142. data/spec/models/enhance_transactions_response_body_spec.rb +34 -0
  143. data/spec/models/holding_response_body_spec.rb +34 -0
  144. data/spec/models/holding_spec.rb +136 -0
  145. data/spec/models/holdings_response_body_spec.rb +40 -0
  146. data/spec/models/inline_response200_spec.rb +34 -0
  147. data/spec/models/institution_response_body_spec.rb +34 -0
  148. data/spec/models/institution_spec.rb +88 -0
  149. data/spec/models/institutions_response_body_spec.rb +40 -0
  150. data/spec/models/member_create_request_body_spec.rb +46 -0
  151. data/spec/models/member_create_request_spec.rb +70 -0
  152. data/spec/models/member_response_body_spec.rb +34 -0
  153. data/spec/models/member_resume_request_body_spec.rb +34 -0
  154. data/spec/models/member_resume_request_spec.rb +34 -0
  155. data/spec/models/member_spec.rb +100 -0
  156. data/spec/models/member_status_response_body_spec.rb +34 -0
  157. data/spec/models/member_status_spec.rb +82 -0
  158. data/spec/models/member_update_request_body_spec.rb +34 -0
  159. data/spec/models/member_update_request_spec.rb +58 -0
  160. data/spec/models/members_response_body_spec.rb +40 -0
  161. data/spec/models/merchant_response_body_spec.rb +34 -0
  162. data/spec/models/merchant_spec.rb +64 -0
  163. data/spec/models/merchants_response_body_spec.rb +40 -0
  164. data/spec/models/o_auth_window_response_body_spec.rb +34 -0
  165. data/spec/models/o_auth_window_spec.rb +40 -0
  166. data/spec/models/pagination_spec.rb +52 -0
  167. data/spec/models/statement_response_body_spec.rb +34 -0
  168. data/spec/models/statement_spec.rb +76 -0
  169. data/spec/models/statements_response_body_spec.rb +40 -0
  170. data/spec/models/tag_create_request_body_spec.rb +34 -0
  171. data/spec/models/tag_create_request_spec.rb +34 -0
  172. data/spec/models/tag_response_body_spec.rb +34 -0
  173. data/spec/models/tag_spec.rb +46 -0
  174. data/spec/models/tag_update_request_body_spec.rb +34 -0
  175. data/spec/models/tag_update_request_spec.rb +34 -0
  176. data/spec/models/tagging_create_request_body_spec.rb +34 -0
  177. data/spec/models/tagging_create_request_spec.rb +40 -0
  178. data/spec/models/tagging_response_body_spec.rb +34 -0
  179. data/spec/models/tagging_spec.rb +58 -0
  180. data/spec/models/tagging_update_request_body_spec.rb +34 -0
  181. data/spec/models/tagging_update_request_spec.rb +34 -0
  182. data/spec/models/taggings_response_body_spec.rb +40 -0
  183. data/spec/models/tags_response_body_spec.rb +40 -0
  184. data/spec/models/transaction_response_body_spec.rb +34 -0
  185. data/spec/models/transaction_rule_create_request_body_spec.rb +34 -0
  186. data/spec/models/transaction_rule_create_request_spec.rb +46 -0
  187. data/spec/models/transaction_rule_response_body_spec.rb +34 -0
  188. data/spec/models/transaction_rule_spec.rb +70 -0
  189. data/spec/models/transaction_rule_update_request_body_spec.rb +34 -0
  190. data/spec/models/transaction_rule_update_request_spec.rb +46 -0
  191. data/spec/models/transaction_rules_response_body_spec.rb +40 -0
  192. data/spec/models/transaction_spec.rb +244 -0
  193. data/spec/models/transaction_update_request_body_spec.rb +34 -0
  194. data/spec/models/transaction_update_request_spec.rb +34 -0
  195. data/spec/models/transactions_response_body_spec.rb +40 -0
  196. data/spec/models/user_create_request_body_spec.rb +34 -0
  197. data/spec/models/user_create_request_spec.rb +52 -0
  198. data/spec/models/user_response_body_spec.rb +34 -0
  199. data/spec/models/user_spec.rb +58 -0
  200. data/spec/models/user_update_request_body_spec.rb +34 -0
  201. data/spec/models/user_update_request_spec.rb +52 -0
  202. data/spec/models/users_response_body_spec.rb +40 -0
  203. data/spec/models/widget_request_body_spec.rb +34 -0
  204. data/spec/models/widget_request_spec.rb +106 -0
  205. data/spec/models/widget_response_body_spec.rb +34 -0
  206. data/spec/models/widget_spec.rb +46 -0
  207. data/spec/spec_helper.rb +100 -13
  208. metadata +317 -144
  209. data/.github/workflows/test.yml +0 -20
  210. data/.gitignore +0 -13
  211. data/.rubocop.yml +0 -44
  212. data/lib/mx-platform-ruby/account.rb +0 -107
  213. data/lib/mx-platform-ruby/account_number.rb +0 -57
  214. data/lib/mx-platform-ruby/account_owner.rb +0 -42
  215. data/lib/mx-platform-ruby/category.rb +0 -127
  216. data/lib/mx-platform-ruby/challenge.rb +0 -37
  217. data/lib/mx-platform-ruby/client.rb +0 -59
  218. data/lib/mx-platform-ruby/connect_widget.rb +0 -43
  219. data/lib/mx-platform-ruby/credential.rb +0 -54
  220. data/lib/mx-platform-ruby/enhanced_transaction.rb +0 -44
  221. data/lib/mx-platform-ruby/error.rb +0 -6
  222. data/lib/mx-platform-ruby/holding.rb +0 -87
  223. data/lib/mx-platform-ruby/institution.rb +0 -78
  224. data/lib/mx-platform-ruby/member.rb +0 -242
  225. data/lib/mx-platform-ruby/member_status.rb +0 -35
  226. data/lib/mx-platform-ruby/merchant.rb +0 -52
  227. data/lib/mx-platform-ruby/oauth_window.rb +0 -32
  228. data/lib/mx-platform-ruby/pageable.rb +0 -29
  229. data/lib/mx-platform-ruby/statement.rb +0 -70
  230. data/lib/mx-platform-ruby/tag.rb +0 -104
  231. data/lib/mx-platform-ruby/tagging.rb +0 -107
  232. data/lib/mx-platform-ruby/transaction.rb +0 -162
  233. data/lib/mx-platform-ruby/transaction_rule.rb +0 -112
  234. data/lib/mx-platform-ruby/user.rb +0 -112
  235. data/lib/mx-platform-ruby/widget.rb +0 -49
  236. data/spec/lib/mx-platform-ruby/account_number_spec.rb +0 -100
  237. data/spec/lib/mx-platform-ruby/account_owner_spec.rb +0 -71
  238. data/spec/lib/mx-platform-ruby/account_spec.rb +0 -267
  239. data/spec/lib/mx-platform-ruby/category_spec.rb +0 -244
  240. data/spec/lib/mx-platform-ruby/challenge_spec.rb +0 -72
  241. data/spec/lib/mx-platform-ruby/client_spec.rb +0 -101
  242. data/spec/lib/mx-platform-ruby/connect_widget_spec.rb +0 -66
  243. data/spec/lib/mx-platform-ruby/credential_spec.rb +0 -90
  244. data/spec/lib/mx-platform-ruby/enhanced_transaction_spec.rb +0 -89
  245. data/spec/lib/mx-platform-ruby/holding_spec.rb +0 -178
  246. data/spec/lib/mx-platform-ruby/institution_spec.rb +0 -141
  247. data/spec/lib/mx-platform-ruby/member_spec.rb +0 -557
  248. data/spec/lib/mx-platform-ruby/member_status_spec.rb +0 -76
  249. data/spec/lib/mx-platform-ruby/merchant_spec.rb +0 -89
  250. data/spec/lib/mx-platform-ruby/oauth_window_spec.rb +0 -47
  251. data/spec/lib/mx-platform-ruby/pageable_spec.rb +0 -75
  252. data/spec/lib/mx-platform-ruby/statement_spec.rb +0 -130
  253. data/spec/lib/mx-platform-ruby/tag_spec.rb +0 -179
  254. data/spec/lib/mx-platform-ruby/tagging_spec.rb +0 -191
  255. data/spec/lib/mx-platform-ruby/transaction_rule_spec.rb +0 -207
  256. data/spec/lib/mx-platform-ruby/transaction_spec.rb +0 -449
  257. data/spec/lib/mx-platform-ruby/user_spec.rb +0 -196
  258. data/spec/lib/mx-platform-ruby/widget_spec.rb +0 -76
  259. data/spec/lib/mx-platform-ruby_spec.rb +0 -15
  260. data/spec/sample.pdf +0 -0
@@ -1,20 +0,0 @@
1
- name: Test
2
-
3
- on: [push]
4
-
5
- jobs:
6
- Test:
7
-
8
- runs-on: ubuntu-latest
9
-
10
- steps:
11
- - uses: actions/checkout@v2
12
- - name: Set up Ruby
13
- uses: ruby/setup-ruby@v1
14
- with:
15
- bundler-cache: true
16
- ruby-version: 2.6
17
- - name: Install dependencies
18
- run: bundle install
19
- - name: Run RuboCop and RSpec
20
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- *.gem
2
- *.swp
3
- .bundle
4
- .config
5
- .DS_Store
6
- .idea
7
- .ruby-*
8
- .rvmrc
9
- .yardoc
10
- coverage
11
- Gemfile.lock
12
- pkg/*
13
- tmp
data/.rubocop.yml DELETED
@@ -1,44 +0,0 @@
1
- AllCops:
2
- NewCops: disable # Disabling pending cops
3
- SuggestExtensions: false # Disabling extension suggestions
4
- TargetRubyVersion: 2.6
5
-
6
- Layout/LineLength:
7
- Description: Checks the length of lines in the source code
8
- Exclude:
9
- - 'spec/lib/**/*.rb' # Excluding to avoid multiline expect statements
10
- IgnoredPatterns: ['^ endpoint: ".*'] # Excluding since the endpoints may require longer lines
11
- Max: 120
12
-
13
- Metrics/AbcSize:
14
- Description: Checks that the ABC size of methods is not higher than the configured maximum
15
- Exclude:
16
- - 'lib/mx-platform-ruby/pageable.rb' # Disabling because clarity > brevity
17
-
18
- Metrics/BlockLength:
19
- Description: Checks if the length of a block exceeds some maximum value
20
- Exclude:
21
- - 'spec/**/*' # Excluding to allow rspec tests to grow with number of attributes
22
-
23
- Metrics/ClassLength:
24
- Description: Checks if the length a class exceeds some maximum value
25
- Enabled: false # Disabling because clarity > brevity
26
-
27
- Metrics/MethodLength:
28
- Description: Checks if the length a method exceeds some maximum value
29
- Enabled: false # Disabling to allow class methods to grow with number of attributes
30
-
31
- Naming/FileName:
32
- Description: Checks that Ruby source files have snake_case names
33
- Exclude:
34
- - 'spec/lib/mx-platform-ruby_spec.rb' # Excluding since gems may have `-` in their name
35
- - 'lib/mx-platform-ruby.rb' # Excluding since gems may have `-` in their name
36
-
37
- Style/Documentation:
38
- Description: Checks for missing top-level documentation of classes and modules
39
- Enabled: false # Disabling because Rails models should be self-explanatory
40
-
41
- Style/SignalException:
42
- Description: Checks for uses of fail and raise
43
- Exclude:
44
- - 'lib/mx-platform-ruby/pageable.rb' # Allow fail if block isn't provided
@@ -1,107 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MXPlatformRuby
4
- class Account
5
- extend ::MXPlatformRuby::Pageable
6
- include ::ActiveAttr::Model
7
-
8
- attribute :account_number
9
- attribute :apr
10
- attribute :apy
11
- attribute :available_balance
12
- attribute :available_credit
13
- attribute :balance
14
- attribute :cash_balance
15
- attribute :cash_surrender_value
16
- attribute :created_at
17
- attribute :credit_limit
18
- attribute :currency_code
19
- attribute :day_payment_is_due
20
- attribute :death_benefit
21
- attribute :guid
22
- attribute :holdings_value
23
- attribute :id
24
- attribute :institution_code
25
- attribute :insured_name
26
- attribute :interest_rate
27
- attribute :is_closed
28
- attribute :is_hidden
29
- attribute :last_payment
30
- attribute :last_payment_at
31
- attribute :loan_amount
32
- attribute :matures_on
33
- attribute :member_guid
34
- attribute :minimum_balance
35
- attribute :minimum_payment
36
- attribute :name
37
- attribute :original_balance
38
- attribute :pay_out_amount
39
- attribute :payment_due_at
40
- attribute :payoff_balance
41
- attribute :premium_amount
42
- attribute :started_on
43
- attribute :subtype
44
- attribute :total_account_value
45
- attribute :type
46
- attribute :updated_at
47
- attribute :user_guid
48
-
49
- def self.list_user_accounts(options = {})
50
- options = list_user_accounts_options(options)
51
-
52
- paginate(options)
53
- end
54
-
55
- def self.read_account(options = {})
56
- read_account_options = read_account_options(options)
57
- response = ::MXPlatformRuby.client.make_request(read_account_options)
58
-
59
- account_params = response['account']
60
- ::MXPlatformRuby::Account.new(account_params)
61
- end
62
-
63
- def self.update_account(options = {})
64
- update_account_options = update_account_options(options)
65
- response = ::MXPlatformRuby.client.make_request(update_account_options)
66
-
67
- account_params = response['account']
68
- ::MXPlatformRuby::Account.new(account_params)
69
- end
70
-
71
- # Private class methods
72
-
73
- def self.list_user_accounts_options(options)
74
- {
75
- endpoint: "/users/#{options[:user_guid]}/accounts",
76
- http_method: :get,
77
- query_params: {
78
- page: options[:page],
79
- records_per_page: options[:records_per_page]
80
- }.compact,
81
- resource: 'accounts'
82
- }
83
- end
84
- private_class_method :list_user_accounts_options
85
-
86
- def self.read_account_options(options)
87
- {
88
- endpoint: "/users/#{options[:user_guid]}/accounts/#{options[:account_guid]}",
89
- http_method: :get
90
- }
91
- end
92
- private_class_method :read_account_options
93
-
94
- def self.update_account_options(options)
95
- {
96
- endpoint: "/users/#{options[:user_guid]}/members/#{options[:member_guid]}/accounts/#{options[:account_guid]}",
97
- http_method: :put,
98
- request_body: {
99
- account: {
100
- is_hidden: options[:is_hidden]
101
- }.compact
102
- }
103
- }
104
- end
105
- private_class_method :update_account_options
106
- end
107
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MXPlatformRuby
4
- class AccountNumber
5
- extend ::MXPlatformRuby::Pageable
6
- include ::ActiveAttr::Model
7
-
8
- attribute :account_guid
9
- attribute :account_number
10
- attribute :guid
11
- attribute :institution_number
12
- attribute :member_guid
13
- attribute :routing_number
14
- attribute :transit_number
15
- attribute :user_guid
16
-
17
- def self.list_account_numbers_by_account(options = {})
18
- options = list_account_numbers_by_account_options(options)
19
-
20
- paginate(options)
21
- end
22
-
23
- def self.list_account_numbers_by_member(options = {})
24
- options = list_account_numbers_by_member_options(options)
25
-
26
- paginate(options)
27
- end
28
-
29
- # Private class methods
30
-
31
- def self.list_account_numbers_by_account_options(options)
32
- {
33
- endpoint: "/users/#{options[:user_guid]}/accounts/#{options[:account_guid]}/account_numbers",
34
- http_method: :get,
35
- query_params: {
36
- page: options[:page],
37
- records_per_page: options[:records_per_page]
38
- }.compact,
39
- resource: 'account_numbers'
40
- }
41
- end
42
- private_class_method :list_account_numbers_by_account_options
43
-
44
- def self.list_account_numbers_by_member_options(options)
45
- {
46
- endpoint: "/users/#{options[:user_guid]}/members/#{options[:member_guid]}/account_numbers",
47
- http_method: :get,
48
- query_params: {
49
- page: options[:page],
50
- records_per_page: options[:records_per_page]
51
- }.compact,
52
- resource: 'account_numbers'
53
- }
54
- end
55
- private_class_method :list_account_numbers_by_member_options
56
- end
57
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MXPlatformRuby
4
- class AccountOwner
5
- extend ::MXPlatformRuby::Pageable
6
- include ::ActiveAttr::Model
7
-
8
- attribute :account_guid
9
- attribute :address
10
- attribute :city
11
- attribute :country
12
- attribute :email
13
- attribute :guid
14
- attribute :member_guid
15
- attribute :owner_name
16
- attribute :phone
17
- attribute :postal_code
18
- attribute :state
19
- attribute :user_guid
20
-
21
- def self.list_account_owners(options = {})
22
- options = list_account_owners_options(options)
23
-
24
- paginate(options)
25
- end
26
-
27
- # Private class methods
28
-
29
- def self.list_account_owners_options(options)
30
- {
31
- endpoint: "/users/#{options[:user_guid]}/members/#{options[:member_guid]}/account_owners",
32
- http_method: :get,
33
- query_params: {
34
- page: options[:page],
35
- records_per_page: options[:records_per_page]
36
- }.compact,
37
- resource: 'account_owners'
38
- }
39
- end
40
- private_class_method :list_account_owners_options
41
- end
42
- end
@@ -1,127 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MXPlatformRuby
4
- class Category
5
- extend ::MXPlatformRuby::Pageable
6
- include ::ActiveAttr::Model
7
-
8
- attribute :created_at
9
- attribute :guid
10
- attribute :is_default
11
- attribute :is_income
12
- attribute :metadata
13
- attribute :name
14
- attribute :parent_guid
15
- attribute :updated_at
16
-
17
- def self.create_category(options = {})
18
- create_category_options = create_category_options(options)
19
- response = ::MXPlatformRuby.client.make_request(create_category_options)
20
-
21
- category_params = response['category']
22
- ::MXPlatformRuby::Category.new(category_params)
23
- end
24
-
25
- def self.delete_category(options = {})
26
- delete_category_options = delete_category_options(options)
27
- ::MXPlatformRuby.client.make_request(delete_category_options)
28
- end
29
-
30
- def self.list_categories(options = {})
31
- options = list_categories_options(options)
32
-
33
- paginate(options)
34
- end
35
-
36
- def self.list_default_categories(options = {})
37
- options = list_default_categories_options(options)
38
-
39
- paginate(options)
40
- end
41
-
42
- def self.read_category(options = {})
43
- read_category_options = read_category_options(options)
44
- response = ::MXPlatformRuby.client.make_request(read_category_options)
45
-
46
- category_params = response['category']
47
- ::MXPlatformRuby::Category.new(category_params)
48
- end
49
-
50
- def self.update_category(options = {})
51
- update_category_options = update_category_options(options)
52
- response = ::MXPlatformRuby.client.make_request(update_category_options)
53
-
54
- category_params = response['category']
55
- ::MXPlatformRuby::Category.new(category_params)
56
- end
57
-
58
- # Private class methods
59
-
60
- def self.create_category_options(options)
61
- {
62
- endpoint: "/users/#{options[:user_guid]}/categories",
63
- http_method: :post,
64
- request_body: {
65
- category: {
66
- metadata: options[:metadata],
67
- name: options[:name],
68
- parent_guid: options[:parent_guid]
69
- }.compact
70
- }
71
- }
72
- end
73
- private_class_method :create_category_options
74
-
75
- def self.delete_category_options(options)
76
- {
77
- endpoint: "/users/#{options[:user_guid]}/categories/#{options[:category_guid]}",
78
- http_method: :delete
79
- }
80
- end
81
- private_class_method :delete_category_options
82
-
83
- def self.list_categories_options(options)
84
- {
85
- endpoint: "/users/#{options[:user_guid]}/categories",
86
- http_method: :get,
87
- query_params: {
88
- page: options[:page],
89
- records_per_page: options[:records_per_page]
90
- }.compact,
91
- resource: 'categories'
92
- }
93
- end
94
- private_class_method :list_categories_options
95
-
96
- def self.list_default_categories_options(options)
97
- {
98
- endpoint: "/users/#{options[:user_guid]}/categories/default",
99
- http_method: :get,
100
- resource: 'categories'
101
- }
102
- end
103
- private_class_method :list_default_categories_options
104
-
105
- def self.read_category_options(options)
106
- {
107
- endpoint: "/users/#{options[:user_guid]}/categories/#{options[:category_guid]}",
108
- http_method: :get
109
- }
110
- end
111
- private_class_method :read_category_options
112
-
113
- def self.update_category_options(options)
114
- {
115
- endpoint: "/users/#{options[:user_guid]}/categories/#{options[:category_guid]}",
116
- http_method: :put,
117
- request_body: {
118
- category: {
119
- metadata: options[:metadata],
120
- name: options[:name]
121
- }.compact
122
- }
123
- }
124
- end
125
- private_class_method :update_category_options
126
- end
127
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MXPlatformRuby
4
- class Challenge
5
- extend ::MXPlatformRuby::Pageable
6
- include ::ActiveAttr::Model
7
-
8
- attribute :field_name
9
- attribute :guid
10
- attribute :image_data
11
- attribute :image_options
12
- attribute :label
13
- attribute :options
14
- attribute :type
15
-
16
- def self.list_member_challenges(options = {})
17
- options = list_member_challenges_options(options)
18
-
19
- paginate(options)
20
- end
21
-
22
- # Private class methods
23
-
24
- def self.list_member_challenges_options(options)
25
- {
26
- endpoint: "/users/#{options[:user_guid]}/members/#{options[:member_guid]}/challenges",
27
- http_method: :get,
28
- query_params: {
29
- page: options[:page],
30
- records_per_page: options[:records_per_page]
31
- }.compact,
32
- resource: 'challenges'
33
- }
34
- end
35
- private_class_method :list_member_challenges_options
36
- end
37
- end