finapps_core 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
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