finapps_core 2.0.6 → 2.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d572a8ff17d98bcb1ce97450aabb466546643c43
4
- data.tar.gz: a817625334d11a4913d77dbc5301525ac652416b
3
+ metadata.gz: 27b7a32bc07de6279792ad72a85a123d42edaa35
4
+ data.tar.gz: 6d5d8f956fdafef44ae6fc905bc00d4b1f6b00eb
5
5
  SHA512:
6
- metadata.gz: 7cc72f84ff5c4f4051d56f8a8a59d6313c3516b1541287ca438f04af2658e2c5056bb41845dbbd10a173fd5df9e594ebeb3acb50b4e99fb3949a88f6b53b3d65
7
- data.tar.gz: abbde216bd6238f0ebd250ece49ffc7265746baa786635c5cdd14c26eee6de4848073eb5181786c661b64e143196f7ab719a2c5cbca85b88bff07f9c79fc56ec
6
+ metadata.gz: d49b6df9306ba6e14b73d0f9e2a2733708bf899115411bc79d66be8b6025b755d78db51e68d0383b58bdd664f680b11e1b5a4894c50fbc41f36944f9208084de
7
+ data.tar.gz: 55ea7d2c683a81d84d65f830484adaa05ce6f34322159b5f4b8b32c0de2f6cbcef09165158fd4a293baafc89351970965d1c607bb94233e7b0536a089e442b24
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- finapps_core (2.0.5)
4
+ finapps_core (2.0.7)
5
5
  faraday (~> 0.11, >= 0.11.0)
6
6
  faraday_middleware (~> 0.11, >= 0.11.0.1)
7
7
  rash (~> 0.4, >= 0.4.0)
@@ -26,6 +26,7 @@ GEM
26
26
  faraday_middleware (0.11.0.1)
27
27
  faraday (>= 0.7.4, < 1.0)
28
28
  ffi (1.9.17)
29
+ gem-release (0.7.4)
29
30
  hashdiff (0.3.2)
30
31
  hashie (2.0.5)
31
32
  json (2.0.3)
@@ -87,6 +88,7 @@ DEPENDENCIES
87
88
  bundler (~> 1.14, >= 1.14.3)
88
89
  codeclimate-test-reporter (~> 1.0, >= 1.0.5)
89
90
  finapps_core!
91
+ gem-release (~> 0.7, >= 0.7.4)
90
92
  rake (~> 12.0, >= 12.0.0)
91
93
  rspec (~> 3.5, >= 3.5.0)
92
94
  rubocop (~> 0.47, >= 0.47.1)
data/finapps_core.gemspec CHANGED
@@ -20,12 +20,13 @@ 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.11', '>= 0.11.0'
24
- spec.add_runtime_dependency 'faraday_middleware', '~> 0.11', '>= 0.11.0.1'
25
- spec.add_runtime_dependency 'typhoeus', '~> 1.1', '>= 1.1.2'
26
- spec.add_runtime_dependency 'rash', '~> 0.4', '>= 0.4.0'
23
+ spec.add_runtime_dependency 'faraday', '~> 0.11', '>= 0.11.0'
24
+ spec.add_runtime_dependency 'faraday_middleware', '~> 0.11', '>= 0.11.0.1'
25
+ spec.add_runtime_dependency 'typhoeus', '~> 1.1', '>= 1.1.2'
26
+ spec.add_runtime_dependency 'rash', '~> 0.4', '>= 0.4.0'
27
27
 
28
28
  spec.add_development_dependency 'bundler', '~> 1.14', '>= 1.14.3'
29
+ spec.add_development_dependency 'gem-release', '~> 0.7', '>= 0.7.4'
29
30
  spec.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
30
31
  spec.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
31
32
  spec.add_development_dependency 'webmock', '~> 2.3', '>= 2.3.2'
@@ -2,13 +2,16 @@
2
2
  require_relative './configuration.rb'
3
3
  require_relative './connection.rb'
4
4
  require_relative '../utils/loggeable'
5
+ require_relative '../utils/validatable'
5
6
 
6
7
  module FinAppsCore
7
8
  module REST
8
9
  # base client functionality
9
10
  class BaseClient
10
11
  include ::FinAppsCore::Utils::Loggeable
12
+ include ::FinAppsCore::Utils::Validatable
11
13
  include ::FinAppsCore::REST::Connection
14
+
12
15
  using ObjectExtensions
13
16
  using StringExtensions
14
17
 
@@ -35,8 +38,8 @@ module FinAppsCore
35
38
  # @param [Hash] params
36
39
  # @return [Hash,Array<String>]
37
40
  def send_request(path, method, params={})
38
- raise FinAppsCore::MissingArgumentsError.new 'Missing argument: path.' if path.blank?
39
- raise FinAppsCore::MissingArgumentsError.new 'Missing argument: method.' if method.blank?
41
+ not_blank(path, :path)
42
+ not_blank(method, :method)
40
43
 
41
44
  response, error_messages = execute_request(path, method, params)
42
45
  result = if empty?(response)
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ module FinAppsCore
3
+ module Utils
4
+ # Adds validation capabilities when included into other classes
5
+ module Validatable
6
+ using ObjectExtensions
7
+ using StringExtensions
8
+
9
+ def not_blank(value, name=nil)
10
+ raise FinAppsCore::MissingArgumentsError.new "Missing argument#{": #{name}" unless name.nil?}" if value.blank?
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module FinAppsCore
3
- VERSION = '2.0.6'
3
+ VERSION = '2.0.7'
4
4
  end
data/lib/finapps_core.rb CHANGED
@@ -11,6 +11,7 @@ require 'core_extensions/object/is_integer'
11
11
  require 'core_extensions/string/json_to_hash'
12
12
 
13
13
  require 'finapps_core/utils/loggeable'
14
+ require 'finapps_core/utils/validatable'
14
15
  require 'finapps_core/utils/parameter_filter'
15
16
  require 'finapps_core/error'
16
17
 
@@ -33,12 +33,12 @@ RSpec.describe FinAppsCore::REST::BaseClient do
33
33
 
34
34
  it 'should raise FinAppsCore::MissingArgumentsError if method is NOT provided' do
35
35
  expect { subject.send_request(nil, :get) }.to raise_error(FinAppsCore::MissingArgumentsError,
36
- 'Missing argument: path.')
36
+ 'Missing argument: path')
37
37
  end
38
38
 
39
39
  it 'should raise FinAppsCore::MissingArgumentsError if path is NOT provided' do
40
40
  expect { subject.send_request('fake_path', nil) }.to raise_error(FinAppsCore::MissingArgumentsError,
41
- 'Missing argument: method.')
41
+ 'Missing argument: method')
42
42
  end
43
43
 
44
44
  context 'when method and path are provided' do
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ class FakeClass
3
+ include FinAppsCore::Utils::Validatable
4
+ end
5
+
6
+ RSpec.describe FinAppsCore::Utils::Validatable do
7
+ describe '#not_blank' do
8
+ context 'for null values' do
9
+ it 'should raise FinAppsCore::MissingArgumentsError' do
10
+ expect { FakeClass.new.not_blank(nil) }.to raise_error(FinAppsCore::MissingArgumentsError,
11
+ 'Missing argument')
12
+ end
13
+
14
+ it 'should describe the argument name when provided' do
15
+ expect { FakeClass.new.not_blank(nil, :name) }.to raise_error(FinAppsCore::MissingArgumentsError,
16
+ 'Missing argument: name')
17
+ end
18
+ end
19
+
20
+ context 'for non null values' do
21
+ it 'should not raise' do
22
+ expect { FakeClass.new.not_blank(true) }.not_to raise_error
23
+ end
24
+ end
25
+ end
26
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finapps_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-09 00:00:00.000000000 Z
11
+ date: 2017-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -110,6 +110,26 @@ dependencies:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: 1.14.3
113
+ - !ruby/object:Gem::Dependency
114
+ name: gem-release
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '0.7'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 0.7.4
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '0.7'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 0.7.4
113
133
  - !ruby/object:Gem::Dependency
114
134
  name: rake
115
135
  requirement: !ruby/object:Gem::Requirement
@@ -293,6 +313,7 @@ files:
293
313
  - lib/finapps_core/rest/resources.rb
294
314
  - lib/finapps_core/utils/loggeable.rb
295
315
  - lib/finapps_core/utils/parameter_filter.rb
316
+ - lib/finapps_core/utils/validatable.rb
296
317
  - lib/finapps_core/version.rb
297
318
  - lib/tasks/releaser.rake
298
319
  - spec/core_extensions/object/blank_spec.rb
@@ -317,6 +338,7 @@ files:
317
338
  - spec/support/fixtures/resources.json
318
339
  - spec/support/fixtures/unauthorized.json
319
340
  - spec/utils/parameter_filter_spec.rb
341
+ - spec/utils/validatable_spec.rb
320
342
  homepage: https://github.com/finapps/ruby-client-core
321
343
  licenses:
322
344
  - MIT
@@ -354,6 +376,7 @@ test_files:
354
376
  - spec/rest/timeout_spec.rb
355
377
  - spec/support/fake_api.rb
356
378
  - spec/utils/parameter_filter_spec.rb
379
+ - spec/utils/validatable_spec.rb
357
380
  - spec/spec_helpers/client.rb
358
381
  - spec/spec_helper.rb
359
382
  - spec/core_extensions/object/is_integer_spec.rb