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 +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
|