finapps_core 2.0.15 → 2.0.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/finapps_core/middleware/response/raise_error.rb +1 -1
- data/lib/finapps_core/rest/base_client.rb +6 -2
- data/lib/finapps_core/rest/credentials.rb +1 -4
- data/lib/finapps_core/utils/validatable.rb +8 -1
- data/lib/finapps_core/version.rb +1 -1
- data/lib/finapps_core.rb +0 -1
- metadata +1 -4
- data/lib/core_extensions/object/blank.rb +0 -49
- data/spec/core_extensions/object/blank_spec.rb +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8289131ef370466de3c40eb0cc59b57bc827fe3
|
4
|
+
data.tar.gz: 1db42e4b79ba6cb447a25de5123f94f38a287d54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b04fa8f805fe745ebe92066a91a62d045b0498a21376afb4607bdfc576cd1e0b2ef3427e02cb9a420afd2cdf8aceea876339a01d9464cebccfb0ba9eba4b4b0
|
7
|
+
data.tar.gz: 12a997ffd3eee2e90d47efd9088f02295c7519be4f4299a95fe3a6d13f4f4d741008569618dbd2405567ad773f8c7cc73aa95ec384abfc82998a8655fd577446
|
@@ -33,7 +33,7 @@ module FinAppsCore
|
|
33
33
|
private
|
34
34
|
|
35
35
|
def error_messages(body)
|
36
|
-
return nil if body.
|
36
|
+
return nil if !body || (body.respond_to?(:empty?) && body.empty?)
|
37
37
|
body = body.json_to_hash if body.is_a?(String)
|
38
38
|
has_message_key?(body) ? body['messages'] : nil
|
39
39
|
end
|
@@ -72,7 +72,11 @@ module FinAppsCore
|
|
72
72
|
private
|
73
73
|
|
74
74
|
def empty?(response)
|
75
|
-
response
|
75
|
+
!response || empty_body?(response)
|
76
|
+
end
|
77
|
+
|
78
|
+
def empty_body?(response)
|
79
|
+
response.respond_to?(:body) && (!response.body || (response.body.respond_to?(:empty?) && response.body.empty?))
|
76
80
|
end
|
77
81
|
|
78
82
|
def execute_request(path, method, params)
|
@@ -100,7 +104,7 @@ module FinAppsCore
|
|
100
104
|
|
101
105
|
def handle_client_error(error)
|
102
106
|
logger.warn "#{self.class}##{__method__} => #{error.class.name}, #{error}"
|
103
|
-
error.response
|
107
|
+
error.response && error.response[:error_messages] ? error.response[:error_messages] : [error.message]
|
104
108
|
end
|
105
109
|
|
106
110
|
def execute_method(path, method, params)
|
@@ -3,9 +3,6 @@ module FinAppsCore
|
|
3
3
|
module REST
|
4
4
|
# represents both tenant and user credentials
|
5
5
|
class Credentials
|
6
|
-
using ObjectExtensions
|
7
|
-
using StringExtensions
|
8
|
-
|
9
6
|
attr_reader :identifier, :token
|
10
7
|
|
11
8
|
def initialize(identifier, token)
|
@@ -14,7 +11,7 @@ module FinAppsCore
|
|
14
11
|
end
|
15
12
|
|
16
13
|
def valid?
|
17
|
-
identifier.
|
14
|
+
!identifier.nil? && !token.nil?
|
18
15
|
end
|
19
16
|
end
|
20
17
|
end
|
@@ -7,7 +7,14 @@ module FinAppsCore
|
|
7
7
|
# Adds validation capabilities when included into other classes
|
8
8
|
module Validatable
|
9
9
|
def not_blank(value, name=nil)
|
10
|
-
|
10
|
+
if nil_or_empty?(value)
|
11
|
+
argument_name = name.nil? ? nil : ": #{name}"
|
12
|
+
raise FinAppsCore::MissingArgumentsError.new "Missing argument#{argument_name}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def nil_or_empty?(value)
|
17
|
+
!value || (value.respond_to?(:empty) && value.empty?)
|
11
18
|
end
|
12
19
|
end
|
13
20
|
end
|
data/lib/finapps_core/version.rb
CHANGED
data/lib/finapps_core.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
@@ -292,7 +292,6 @@ files:
|
|
292
292
|
- README.md
|
293
293
|
- Rakefile
|
294
294
|
- finapps_core.gemspec
|
295
|
-
- lib/core_extensions/object/blank.rb
|
296
295
|
- lib/core_extensions/object/is_integer.rb
|
297
296
|
- lib/core_extensions/string/json_to_hash.rb
|
298
297
|
- lib/finapps_core.rb
|
@@ -315,7 +314,6 @@ files:
|
|
315
314
|
- lib/finapps_core/utils/validatable.rb
|
316
315
|
- lib/finapps_core/version.rb
|
317
316
|
- lib/tasks/releaser.rake
|
318
|
-
- spec/core_extensions/object/blank_spec.rb
|
319
317
|
- spec/core_extensions/object/is_integer_spec.rb
|
320
318
|
- spec/middleware/request/accept_json_spec.rb
|
321
319
|
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
@@ -378,7 +376,6 @@ test_files:
|
|
378
376
|
- spec/spec_helpers/client.rb
|
379
377
|
- spec/spec_helper.rb
|
380
378
|
- spec/core_extensions/object/is_integer_spec.rb
|
381
|
-
- spec/core_extensions/object/blank_spec.rb
|
382
379
|
- spec/middleware/request/no_encoding_basic_authentication_spec.rb
|
383
380
|
- spec/middleware/request/user_agent_spec.rb
|
384
381
|
- spec/middleware/request/tenant_authentication_spec.rb
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ObjectExtensions
|
3
|
-
refine Object do
|
4
|
-
# An object is blank if it's false, empty, or a whitespace string.
|
5
|
-
# For example, +false+, '', ' ', +nil+, [], and {} are all blank.
|
6
|
-
#
|
7
|
-
# This simplifies
|
8
|
-
#
|
9
|
-
# !address || address.empty?
|
10
|
-
#
|
11
|
-
# to
|
12
|
-
#
|
13
|
-
# address.blank?
|
14
|
-
#
|
15
|
-
# @return [true, false]
|
16
|
-
def blank?
|
17
|
-
respond_to?(:empty?) ? !!empty? : !self
|
18
|
-
end
|
19
|
-
|
20
|
-
# An object is present if it's not blank.
|
21
|
-
#
|
22
|
-
# @return [true, false]
|
23
|
-
def present?
|
24
|
-
!blank?
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
module StringExtensions
|
30
|
-
refine String do
|
31
|
-
BLANK_RE = /\A[[:space:]]*\z/
|
32
|
-
|
33
|
-
# A string is blank if it's empty or contains whitespaces only:
|
34
|
-
#
|
35
|
-
# ''.blank? # => true
|
36
|
-
# ' '.blank? # => true
|
37
|
-
# "\t\n\r".blank? # => true
|
38
|
-
# ' blah '.blank? # => false
|
39
|
-
#
|
40
|
-
# Unicode whitespace is supported:
|
41
|
-
#
|
42
|
-
# "\u00a0".blank? # => true
|
43
|
-
#
|
44
|
-
# @return [true, false]
|
45
|
-
def blank?
|
46
|
-
match BLANK_RE
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
using ObjectExtensions
|
3
|
-
|
4
|
-
RSpec.describe ObjectExtensions do
|
5
|
-
context 'when refining Object' do
|
6
|
-
describe '#blank?' do
|
7
|
-
# An object is blank if it's false, empty, or a whitespace string.
|
8
|
-
context 'for false' do
|
9
|
-
it { expect(false.blank?).to eq(true) }
|
10
|
-
end
|
11
|
-
context 'for empty arrays' do
|
12
|
-
it { expect([].blank?).to eq(true) }
|
13
|
-
end
|
14
|
-
context 'for empty hashes' do
|
15
|
-
it { expect({}.blank?).to eq(true) }
|
16
|
-
end
|
17
|
-
context 'for whitespace string' do
|
18
|
-
it { expect(''.blank?).to eq(true) }
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe '#present?' do
|
23
|
-
# An object is present if it's not blank.
|
24
|
-
context 'for not blank objects' do
|
25
|
-
it { expect(1.present?).to eq(true) }
|
26
|
-
end
|
27
|
-
|
28
|
-
context 'for blank objects' do
|
29
|
-
it { expect(false.present?).to eq(false) }
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|