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 +4 -4
- data/Gemfile.lock +3 -1
- data/finapps_core.gemspec +5 -4
- data/lib/finapps_core/rest/base_client.rb +5 -2
- data/lib/finapps_core/utils/validatable.rb +14 -0
- data/lib/finapps_core/version.rb +1 -1
- data/lib/finapps_core.rb +1 -0
- data/spec/rest/base_client_spec.rb +2 -2
- data/spec/utils/validatable_spec.rb +26 -0
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27b7a32bc07de6279792ad72a85a123d42edaa35
|
4
|
+
data.tar.gz: 6d5d8f956fdafef44ae6fc905bc00d4b1f6b00eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
24
|
-
spec.add_runtime_dependency
|
25
|
-
spec.add_runtime_dependency
|
26
|
-
spec.add_runtime_dependency
|
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
|
-
|
39
|
-
|
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
|
data/lib/finapps_core/version.rb
CHANGED
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.
|
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-
|
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
|