finapps 2.1.4 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -18
  3. data/.ruby-gemset +1 -1
  4. data/.travis.yml +5 -2
  5. data/README.md +1 -1
  6. data/finapps.gemspec +10 -12
  7. data/lib/finapps.rb +5 -21
  8. data/lib/finapps/rest/client.rb +42 -53
  9. data/lib/finapps/rest/institutions.rb +2 -2
  10. data/lib/finapps/rest/institutions_forms.rb +2 -2
  11. data/lib/finapps/rest/order_reports.rb +4 -4
  12. data/lib/finapps/rest/order_statuses.rb +2 -2
  13. data/lib/finapps/rest/order_tokens.rb +2 -3
  14. data/lib/finapps/rest/orders.rb +6 -6
  15. data/lib/finapps/rest/password_resets.rb +4 -4
  16. data/lib/finapps/rest/sessions.rb +2 -2
  17. data/lib/finapps/rest/user_institutions.rb +21 -26
  18. data/lib/finapps/rest/user_institutions_forms.rb +2 -2
  19. data/lib/finapps/rest/user_institutions_statuses.rb +2 -2
  20. data/lib/finapps/rest/users.rb +5 -5
  21. data/lib/finapps/rest/version.rb +1 -1
  22. data/lib/finapps/version.rb +1 -1
  23. data/spec/rest/client_spec.rb +4 -13
  24. data/spec/rest/institutions_forms_spec.rb +5 -2
  25. data/spec/rest/institutions_spec.rb +4 -2
  26. data/spec/rest/order_reports_spec.rb +4 -4
  27. data/spec/rest/order_statuses_spec.rb +3 -2
  28. data/spec/rest/order_tokens_spec.rb +3 -2
  29. data/spec/rest/orders_spec.rb +6 -5
  30. data/spec/rest/password_resets_spec.rb +4 -4
  31. data/spec/rest/sessions_spec.rb +2 -2
  32. data/spec/rest/user_institutions_forms_spec.rb +5 -2
  33. data/spec/rest/user_institutions_spec.rb +10 -9
  34. data/spec/rest/user_institutions_statuses_spec.rb +3 -2
  35. data/spec/rest/users_spec.rb +4 -4
  36. data/spec/rest/version_spec.rb +1 -1
  37. data/spec/spec_helper.rb +5 -3
  38. data/spec/spec_helpers/client.rb +1 -1
  39. metadata +49 -124
  40. data/lib/core_extensions/hash/compact.rb +0 -23
  41. data/lib/core_extensions/object/blank.rb +0 -69
  42. data/lib/core_extensions/object/is_integer.rb +0 -10
  43. data/lib/core_extensions/string/json_to_hash.rb +0 -10
  44. data/lib/finapps/error.rb +0 -17
  45. data/lib/finapps/middleware/middleware.rb +0 -22
  46. data/lib/finapps/middleware/request/accept_json.rb +0 -14
  47. data/lib/finapps/middleware/request/no_encoding_basic_authentication.rb +0 -21
  48. data/lib/finapps/middleware/request/tenant_authentication.rb +0 -20
  49. data/lib/finapps/middleware/request/user_agent.rb +0 -15
  50. data/lib/finapps/middleware/response/custom_logger.rb +0 -41
  51. data/lib/finapps/middleware/response/raise_error.rb +0 -46
  52. data/lib/finapps/rest/base_client.rb +0 -122
  53. data/lib/finapps/rest/configuration.rb +0 -31
  54. data/lib/finapps/rest/connection.rb +0 -35
  55. data/lib/finapps/rest/credentials.rb +0 -21
  56. data/lib/finapps/rest/defaults.rb +0 -80
  57. data/lib/finapps/rest/resources.rb +0 -64
  58. data/lib/finapps/utils/loggeable.rb +0 -14
  59. data/lib/finapps/utils/parameter_filter.rb +0 -32
  60. data/spec/core_extensions/hash/compact_spec.rb +0 -21
  61. data/spec/core_extensions/object/is_integer_spec.rb +0 -17
  62. data/spec/middleware/request/accept_json_spec.rb +0 -12
  63. data/spec/middleware/request/no_encoding_basic_authentication_spec.rb +0 -32
  64. data/spec/middleware/request/tenant_authentication_spec.rb +0 -34
  65. data/spec/middleware/request/user_agent_spec.rb +0 -12
  66. data/spec/middleware/response/raise_error_spec.rb +0 -24
  67. data/spec/rest/base_client_spec.rb +0 -120
  68. data/spec/rest/configuration_spec.rb +0 -39
  69. data/spec/rest/credentials_spec.rb +0 -20
  70. data/spec/rest/resources_spec.rb +0 -76
  71. data/spec/rest/timeout_spec.rb +0 -9
  72. data/spec/support/fixtures/relevance_ruleset_names.json +0 -47
  73. data/spec/utils/parameter_filter_spec.rb +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 80dcb3297ddc318727b508e5dd4c8579ca7d5787
4
- data.tar.gz: bdba2a747847213dbcb20d884c2250377e473821
3
+ metadata.gz: 5e24643441ce8ebb9cb808fe45de0df630e62ef0
4
+ data.tar.gz: 88348f3841bc6186ce306ed7a7c9ca4bc72a57d0
5
5
  SHA512:
6
- metadata.gz: f416f7f0c9968f53bbfb1f5806f59c041ecfead41d400c3bc5c5b5c581c8640473f394d399173fc66d846d165a35ab7e71c92318d641f9008889970ebcbc24ef
7
- data.tar.gz: 13583d43451a5ac16ba4a678fa98a608a2f4a4174c64ac5f5c8c97e36b17e49189826d7f09a030869a68500da3e0a3865252b16745df339352bb1b86f9cf4418
6
+ metadata.gz: e398a685f93991829879dd9146023a31713ae60fd12f928432b0d8a9cf0ba256120bc238d15bfe5227891bd9da7d029c04def2d017824c31d243edc329bd73f4
7
+ data.tar.gz: 649742621d86978e10804929252dd7aa297d2d8be8860620482e0a03adbd5ecef2e2afdc41600f1ef73600b12b1cf078aa439d6e4c55dddae6184b20a36cfe67
data/.rubocop.yml CHANGED
@@ -142,29 +142,13 @@ Style/StringLiteralsInInterpolation:
142
142
  SupportedStyles:
143
143
  - single_quotes
144
144
  - double_quotes
145
- Style/TrailingCommaInArguments:
146
- Description: 'Checks for trailing comma in argument lists.'
147
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
148
- Enabled: false
149
- EnforcedStyleForMultiline: no_comma
150
- SupportedStyles:
151
- - comma
152
- - consistent_comma
153
- - no_comma
154
- Style/TrailingCommaInLiteral:
155
- Description: 'Checks for trailing comma in array and hash literals.'
156
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
157
- Enabled: false
158
- EnforcedStyleForMultiline: no_comma
159
- SupportedStyles:
160
- - comma
161
- - consistent_comma
162
- - no_comma
163
145
  Metrics/AbcSize:
164
146
  Description: A calculated magnitude based on number of assignments, branches, and
165
147
  conditions.
166
148
  Enabled: false
167
149
  Max: 15
150
+ Metrics/BlockLength:
151
+ ExcludedMethods: ['describe', 'context']
168
152
  Metrics/ClassLength:
169
153
  Description: Avoid classes longer than 100 lines of code.
170
154
  Enabled: false
data/.ruby-gemset CHANGED
@@ -1 +1 @@
1
- ruby-client-v2
1
+ ruby-client
data/.travis.yml CHANGED
@@ -1,10 +1,11 @@
1
1
  language: ruby
2
2
  cache: bundler
3
3
  rvm:
4
- - 2.3.0
5
4
  - 2.3.1
6
5
  before_install:
7
- - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
6
+ - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
7
+ - gem update --system
8
+ - gem install bundler
8
9
  script:
9
10
  - bundle exec rspec
10
11
  notifications:
@@ -13,3 +14,5 @@ notifications:
13
14
  addons:
14
15
  code_climate:
15
16
  repo_token: dc180b31d340bd88cedd0ec3ea8ba8ec5093f2bafe77a7bf5bbdcb1c5ff9dc7f
17
+ after_success:
18
+ - bundle exec codeclimate-test-reporter
data/README.md CHANGED
@@ -3,7 +3,7 @@ FinApps Ruby-Client
3
3
  ===================
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/finapps.svg)](https://badge.fury.io/rb/finapps)
6
- [![Build Status](http://img.shields.io/travis/finapps/ruby-client.svg?style=flat-square)](https://travis-ci.org/finapps/ruby-client)
6
+ [![Build Status](https://travis-ci.org/finapps/ruby-client.svg?branch=master)](https://travis-ci.org/finapps/ruby-client)
7
7
  [![Code Climate](https://codeclimate.com/github/finapps/ruby-client/badges/gpa.svg)](https://codeclimate.com/github/finapps/ruby-client)
8
8
  [![Test Coverage](https://codeclimate.com/github/finapps/ruby-client/badges/coverage.svg)](https://codeclimate.com/github/finapps/ruby-client/coverage)
9
9
  [![Dependency Status](https://gemnasium.com/badges/github.com/finapps/ruby-client.svg)](https://gemnasium.com/github.com/finapps/ruby-client)
data/finapps.gemspec CHANGED
@@ -20,19 +20,17 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = Dir['spec/**/*.rb']
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_runtime_dependency 'faraday', '~> 0.9', '>= 0.9.2'
24
- spec.add_runtime_dependency 'faraday_middleware', '~> 0.10', '>= 0.10.0'
25
- spec.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.2'
26
- spec.add_runtime_dependency 'rash', '~> 0.4', '>= 0.4.0'
23
+ spec.add_runtime_dependency 'finapps_core', '~> 2.0', '>= 2.0.11'
27
24
 
28
- spec.add_development_dependency 'bundler', '~> 1.11', '>= 1.11.2'
29
- spec.add_development_dependency 'rake', '~> 11.2', '>= 11.2.2'
30
- spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
31
- spec.add_development_dependency 'webmock', '~> 2.1', '>= 2.1.0'
32
- spec.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.7'
33
- spec.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.2'
34
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.6.0'
35
- spec.add_development_dependency 'rubocop', '0.45.0'
25
+ spec.add_development_dependency 'bundler', '~> 1.14', '>= 1.14.3'
26
+ spec.add_development_dependency 'gem-release', '~> 0.7', '>= 0.7.4'
27
+ spec.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
28
+ spec.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
29
+ spec.add_development_dependency 'webmock', '~> 2.3', '>= 2.3.2'
30
+ spec.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.7'
31
+ spec.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.2'
32
+ spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.5'
33
+ spec.add_development_dependency 'rubocop', '~> 0.47', '>= 0.47.1'
36
34
 
37
35
  spec.extra_rdoc_files = %w(README.md LICENSE.txt)
38
36
  spec.rdoc_options = %w(--line-numbers --inline-source --title finapps-ruby --main README.md)
data/lib/finapps.rb CHANGED
@@ -6,23 +6,7 @@ require 'faraday_middleware'
6
6
  require 'typhoeus'
7
7
  require 'typhoeus/adapters/faraday'
8
8
 
9
- require 'core_extensions/hash/compact'
10
- require 'core_extensions/object/blank'
11
- require 'core_extensions/object/is_integer'
12
- require 'core_extensions/string/json_to_hash'
13
-
14
- require 'finapps/utils/loggeable'
15
- require 'finapps/utils/parameter_filter'
16
- require 'finapps/error'
17
-
18
- require 'finapps/middleware/request/tenant_authentication'
19
- require 'finapps/middleware/request/accept_json'
20
- require 'finapps/middleware/request/user_agent'
21
- require 'finapps/middleware/response/raise_error'
22
- require 'finapps/middleware/middleware'
23
-
24
- require 'finapps/rest/defaults'
25
- require 'finapps/rest/resources'
9
+ require 'finapps_core'
26
10
 
27
11
  require 'finapps/rest/version'
28
12
  require 'finapps/rest/users'
@@ -38,8 +22,8 @@ require 'finapps/rest/order_reports'
38
22
  require 'finapps/rest/order_statuses'
39
23
  require 'finapps/rest/password_resets'
40
24
 
41
- require 'finapps/rest/configuration'
42
- require 'finapps/rest/credentials'
43
- require 'finapps/rest/connection'
44
- require 'finapps/rest/base_client'
25
+ # require 'finapps/rest/configuration'
26
+ # require 'finapps/rest/credentials'
27
+ # require 'finapps/rest/connection'
28
+ # require 'finapps/rest/base_client'
45
29
  require 'finapps/rest/client'
@@ -1,75 +1,64 @@
1
1
  # frozen_string_literal: true
2
+ require 'finapps_core'
3
+ require_relative './version'
4
+
2
5
  module FinApps
3
6
  module REST
4
- class Client < BaseClient # :nodoc:
7
+ class Client < FinAppsCore::REST::BaseClient # :nodoc:
5
8
  using ObjectExtensions
6
9
  using StringExtensions
7
10
 
8
- include FinApps::REST::Defaults
11
+ RESOURCES = %i(
12
+ institutions
13
+ institutions_forms
14
+ orders
15
+ order_reports
16
+ order_statuses
17
+ order_tokens
18
+ password_resets
19
+ sessions
20
+ users
21
+ user_institutions
22
+ user_institutions_forms
23
+ user_institutions_statuses
24
+ version
25
+ ).freeze
9
26
 
10
- # @param [String] tenant_identifier
11
27
  # @param [String] tenant_token
12
28
  # @param [Hash] options
13
29
  # @return [FinApps::REST::Client]
14
- def initialize(tenant_identifier, tenant_token, options={}, logger=nil)
15
- raise FinApps::MissingArgumentsError.new 'Invalid company_identifier.' if tenant_identifier.blank?
16
- raise FinApps::MissingArgumentsError.new 'Invalid company_token.' if tenant_token.blank?
30
+ def initialize(tenant_token, options={}, logger=nil)
31
+ not_blank(tenant_token, :tenant_token)
17
32
 
18
- merged_options = FinApps::REST::Defaults::DEFAULTS.merge(options.merge(tenant_identifier: tenant_identifier,
19
- tenant_token: tenant_token))
33
+ merged_options = options.merge(tenant_token: tenant_token)
20
34
  super(merged_options, logger)
21
35
  end
22
36
 
23
- def version
24
- @version ||= FinApps::REST::Version.new self
25
- end
26
-
27
- def users
28
- @users ||= FinApps::REST::Users.new self
29
- end
30
-
31
- def sessions
32
- @sessions ||= FinApps::REST::Sessions.new self
33
- end
34
-
35
- def order_tokens
36
- @order_tokens ||= FinApps::REST::OrderTokens.new self
37
- end
38
-
39
- def orders
40
- @orders ||= FinApps::REST::Orders.new self
41
- end
42
-
43
- def order_reports
44
- @order_reports ||= FinApps::REST::OrderReports.new self
45
- end
46
-
47
- def order_statuses
48
- @order_statuses ||= FinApps::REST::OrderStatuses.new self
49
- end
50
-
51
- def institutions
52
- @institutions ||= FinApps::REST::Institutions.new self
37
+ def method_missing(symbol, *arguments, &block)
38
+ if RESOURCES.include? symbol
39
+ class_name = camelize(symbol.to_s)
40
+ variable = "@#{class_name.downcase}"
41
+ unless instance_variable_defined? variable
42
+ klass = Object.const_get('FinApps').const_get('REST').const_get class_name
43
+ instance_variable_set(variable, klass.new(self))
44
+ end
45
+ instance_variable_get(variable)
46
+ else
47
+ super
48
+ end
53
49
  end
54
50
 
55
- def institutions_forms
56
- @institutions_forms ||= FinApps::REST::InstitutionsForms.new self
51
+ def respond_to_missing?(method_sym, include_private=false)
52
+ RESOURCES.include?(method_sym) ? true : super
57
53
  end
58
54
 
59
- def user_institutions_statuses
60
- @user_institutions_statuses ||= FinApps::REST::UserInstitutionsStatuses.new self
61
- end
62
-
63
- def user_institutions
64
- @user_institutions ||= FinApps::REST::UserInstitutions.new self
65
- end
66
-
67
- def user_institutions_forms
68
- @user_institutions_forms ||= FinApps::REST::UserInstitutionsForms.new self
69
- end
55
+ private
70
56
 
71
- def password_resets
72
- @password_resets ||= FinApps::REST::PasswordResets.new self
57
+ def camelize(term)
58
+ string = term.to_s
59
+ string = string.sub(/^[a-z\d]*/) { $&.capitalize }
60
+ string.gsub!(%r{(?:_|(/))([a-z\d]*)}) { $2.capitalize.to_s }
61
+ string
73
62
  end
74
63
  end
75
64
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class Institutions < FinApps::REST::Resources
4
+ class Institutions < FinAppsCore::REST::Resources
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def list(search_term)
9
- raise MissingArgumentsError.new 'Missing argument: search_term' if search_term.blank?
9
+ not_blank(search_term, :search_term)
10
10
  # API errors when search_term is blank, maybe it shouldn't
11
11
 
12
12
  path = "#{end_point}/search/#{ERB::Util.url_encode(search_term)}"
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class InstitutionsForms < FinApps::REST::Resources
4
+ class InstitutionsForms < FinAppsCore::REST::Resources
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def show(site_id)
9
- raise MissingArgumentsError.new 'Missing argument: site_id.' if site_id.blank?
9
+ not_blank(site_id, :site_id)
10
10
 
11
11
  path = "institutions/site/#{ERB::Util.url_encode(site_id)}/form"
12
12
  super site_id, path
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class OrderReports < FinApps::REST::Resources # :nodoc:
4
+ class OrderReports < FinAppsCore::REST::Resources # :nodoc:
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def show(id, format)
9
- raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
10
- raise MissingArgumentsError.new 'Missing argument: format' if format.blank?
11
- raise InvalidArgumentsError.new 'Invalid argument: format' unless accepted_format?(format)
9
+ not_blank(id, :id)
10
+ not_blank(format, :format)
11
+ raise FinAppsCore::InvalidArgumentsError.new 'Invalid argument: format' unless accepted_format?(format)
12
12
 
13
13
  path = "orders/#{ERB::Util.url_encode(id)}/report.#{ERB::Util.url_encode(format)}"
14
14
  super nil, path
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class OrderStatuses < FinApps::REST::Resources # :nodoc:
4
+ class OrderStatuses < FinAppsCore::REST::Resources # :nodoc:
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def show(id)
9
- raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
9
+ not_blank(id, :id)
10
10
 
11
11
  path = "orders/#{ERB::Util.url_encode(id)}/status"
12
12
  super nil, path
@@ -1,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class OrderTokens < FinApps::REST::Resources # :nodoc:
4
+ class OrderTokens < FinAppsCore::REST::Resources # :nodoc:
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def show(token)
9
- raise MissingArgumentsError.new 'Missing argument: token.' if token.blank?
10
-
9
+ not_blank(token, :token)
11
10
  create nil, "orders/#{ERB::Util.url_encode(token)}"
12
11
  end
13
12
  end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class Orders < FinApps::REST::Resources # :nodoc:
4
+ class Orders < FinAppsCore::REST::Resources # :nodoc:
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def show(id)
9
- raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
9
+ not_blank(id, :id)
10
10
  super
11
11
  end
12
12
 
13
13
  def create(params)
14
- raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
14
+ not_blank(params, :params)
15
15
  super params
16
16
  end
17
17
 
@@ -25,14 +25,14 @@ module FinApps
25
25
  # :asc - sort order true for asc false for desc
26
26
  def list(params=nil) # params hash with optional keys [:page, :requested, :sort, :asc]
27
27
  return super 'list/orders/1/10000/date/false' if params.nil?
28
- raise InvalidArgumentsError.new 'Invalid argument: params' unless params.is_a? Hash
28
+ raise FinAppsCore::InvalidArgumentsError.new 'Invalid argument: params' unless params.is_a? Hash
29
29
 
30
30
  super build_path(params)
31
31
  end
32
32
 
33
33
  def update(id, params)
34
- raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
35
- raise MissingArgumentsError.new 'Missing argument: params' if params.blank?
34
+ not_blank(id, :id)
35
+ not_blank(params, :params)
36
36
  # Params array need matching Institution ids & Account ids
37
37
  # Validations to check each Institution id has at least one account id
38
38
  # Validations to check at least 1 Institution id or 1 account "params.length >= 1"
@@ -1,20 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class PasswordResets < FinApps::REST::Resources # :nodoc:
4
+ class PasswordResets < FinAppsCore::REST::Resources # :nodoc:
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  def create(id)
9
- raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
9
+ not_blank(id, :id)
10
10
 
11
11
  path = "tenant/#{ERB::Util.url_encode(id)}/password"
12
12
  super nil, path
13
13
  end
14
14
 
15
15
  def update(id, params)
16
- raise MissingArgumentsError.new 'Missing argument: id.' if id.blank?
17
- raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
16
+ raise FinAppsCore::MissingArgumentsError.new 'Missing argument: id.' if id.blank?
17
+ raise FinAppsCore::MissingArgumentsError.new 'Missing argument: params.' if params.blank?
18
18
 
19
19
  path = "tenant/#{ERB::Util.url_encode(id)}/password"
20
20
  super params, path
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class Sessions < FinApps::REST::Resources # :nodoc:
4
+ class Sessions < FinAppsCore::REST::Resources # :nodoc:
5
5
  using ObjectExtensions
6
6
  using StringExtensions
7
7
 
8
8
  # @param [Hash] params
9
9
  # @return [Array<String>]
10
10
  def create(params)
11
- raise InvalidArgumentsError.new 'Invalid argument: params.' unless validates params
11
+ raise FinAppsCore::InvalidArgumentsError.new 'Invalid argument: params.' unless validates params
12
12
 
13
13
  super params, 'login'
14
14
  end
@@ -1,20 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
  module FinApps
3
3
  module REST
4
- class UserInstitutions < FinApps::REST::Resources # :nodoc:
5
- END_POINT = 'institutions/user'
6
-
4
+ class UserInstitutions < FinAppsCore::REST::Resources # :nodoc:
7
5
  using ObjectExtensions
8
6
  using StringExtensions
9
7
 
10
8
  def list
11
- path = 'institutions/user'
12
- super path
9
+ super END_POINT
13
10
  end
14
11
 
15
12
  def create(site_id, params)
16
- raise MissingArgumentsError.new 'Missing argument: site_id.' if site_id.blank?
17
- raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
13
+ not_blank(site_id, :site_id)
14
+ not_blank(params, :params)
18
15
 
19
16
  path = "institutions/site/#{ERB::Util.url_encode(site_id)}/add"
20
17
 
@@ -22,40 +19,38 @@ module FinApps
22
19
  end
23
20
 
24
21
  def show(id)
25
- raise MissingArgumentsError.new 'Missing Argument: id.' if id.blank?
26
-
27
- path = "#{END_POINT}/#{ERB::Util.url_encode(id)}"
28
- super id, path
22
+ not_blank(id, :id)
23
+ super(id, user_institutions_path(id))
29
24
  end
30
25
 
31
26
  def credentials_update(id, params)
32
- raise MissingArgumentsError.new 'Missing Argument: id.' if id.blank?
33
- raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
34
-
35
- path = "#{END_POINT}/#{ERB::Util.url_encode(id)}/credentials"
36
- update params, path
27
+ update id, params, 'credentials'
37
28
  end
38
29
 
39
30
  def mfa_update(id, params)
40
- raise MissingArgumentsError.new 'Missing Argument: id.' if id.blank?
41
- raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
42
-
43
- path = "#{END_POINT}/#{ERB::Util.url_encode(id)}/mfa"
44
- update params, path
31
+ update id, params, 'mfa'
45
32
  end
46
33
 
47
34
  def destroy(id)
48
- raise MissingArgumentsError.new 'Missing Argument: id.' if id.blank?
49
-
50
- path = "#{END_POINT}/#{ERB::Util.url_encode(id)}"
51
- super id, path
35
+ not_blank(id, :id)
36
+ super(id, user_institutions_path(id))
52
37
  end
53
38
 
54
39
  private
55
40
 
56
- def update(params, path)
41
+ END_POINT = 'institutions/user'
42
+
43
+ def update(id, params, method)
44
+ not_blank(id, :id)
45
+ not_blank(params, :params)
46
+
47
+ path = "#{user_institutions_path(id)}/#{method}"
57
48
  super params, path
58
49
  end
50
+
51
+ def user_institutions_path(id)
52
+ "#{END_POINT}/#{ERB::Util.url_encode(id)}"
53
+ end
59
54
  end
60
55
  end
61
56
  end