katinguele 1.0.4 → 1.0.5

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
  SHA256:
3
- metadata.gz: 3a115efbdba0e8c4611b3a1e5893818c300006f5427c0063e862bc8f50178b7a
4
- data.tar.gz: ce24737f7ea275b5ee71b51f7c96e9714d678cf64535167fdaabca0fa4d519c0
3
+ metadata.gz: cc4e75582da95c103a61bb1ae12455172080a71ea6b92677dc9af7f403a3bc6a
4
+ data.tar.gz: f821ffbc534f81e71cac0f9c788f1dbec40cb2fc9c39f1d8c3011d08e72dc0ba
5
5
  SHA512:
6
- metadata.gz: 17975f36fa01b7d83ae763a510cb97dab38e00c4e70dfea69d643ef83adb50b873cf4028c21be8d55493cc2ea60aafa7cad0ad732596035cc2da9ad688d924df
7
- data.tar.gz: 5747ebde9e20d2b91f7354cbc5e34b16c9dcd1431fc57e6b8c64f0d693d2d1d0622518f6adef287219a37681d1c952ba2e4f9f7c64a8f044aef23a25f15c2a4b
6
+ metadata.gz: be720499d4655b68a9c331966113717930b72a220b39d6cf7755f5b4d62a11c0dfcb0c688629bad9f25510d6e5ae65c0748e82f2ecc29b103dc3a90924035b8c
7
+ data.tar.gz: 13a7cc2dcb924fd1d783369fbce56958f1543286f03d88b65582e4133e022621be271e3c414e7902b2ade1162ea3508539b2b96665bb8fc5268a3e7089368cd9
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Katinguele
4
4
  module Client
5
- class UnknwonService < StandardError; end
5
+ class UnknownService < StandardError; end
6
6
 
7
7
  module Builder
8
8
  def self.extended(base)
@@ -15,8 +15,8 @@ module Katinguele
15
15
  build_katinguele_request_options(options)
16
16
  end
17
17
 
18
- def katinguele_service(name)
19
- build_katinguele_service(name)
18
+ def katinguele_service(name, options = {})
19
+ build_katinguele_service(name, { lazy: false }.merge(options || {}))
20
20
  end
21
21
 
22
22
  private
@@ -30,31 +30,39 @@ module Katinguele
30
30
  build_katinguele_request
31
31
  end
32
32
 
33
- def build_katinguele_service(name = nil)
33
+ def build_katinguele_service(name = nil, options = {})
34
34
  katinguele_options[:service_name] ||= name
35
+ katinguele_options[:service_options] ||= options
35
36
  build_katinguele_request
36
37
  end
37
38
 
38
- def build_katinguele_request
39
+ def build_katinguele_request(force = false)
39
40
  Katinguele.configuration
40
41
  .find_service(katinguele_options[:service_name])
41
- .then { |service| handle_unknown_service!(service) }
42
- .then { |service| create_request(service) }
42
+ .then { |service| handle_unknown_service!(service, force) }
43
+ .then { |service| create_request(service, force) }
43
44
  .then { |request| katinguele_options[:request] = request }
44
- build_katinguele_request_attributes
45
+ .then { build_katinguele_request_attributes }
45
46
  end
46
47
 
47
48
  def build_katinguele_request_attributes
48
- define_singleton_method(:katinguele_request_attributes) { katinguele_options&.[](:request)&.attributes }
49
+ define_singleton_method(:katinguele_request_attributes) { katinguele_options&.[](:request)&.attributes || {} }
49
50
  end
50
51
 
51
- def handle_unknown_service!(service)
52
- raise UnknwonService if !service && katinguele_options[:service_name]
52
+ def handle_unknown_service!(service, force)
53
+ return unless take_request?(force)
54
+ raise UnknownService if !service && katinguele_options[:service_name]
53
55
 
54
56
  service
55
57
  end
56
58
 
57
- def create_request(service)
59
+ def take_request?(force)
60
+ !katinguele_options.dig(:service_options, :lazy) || force
61
+ end
62
+
63
+ def create_request(service, force)
64
+ return unless take_request?(force)
65
+
58
66
  Katinguele.configuration.request_by(service, katinguele_options[:request_options])
59
67
  end
60
68
  end
@@ -36,6 +36,8 @@ module Katinguele
36
36
  end
37
37
 
38
38
  def build_final_request(options, method)
39
+ build_katinguele_request_lazy
40
+
39
41
  Katinguele.configuration
40
42
  .request_by(katinguele_options[:request], options)
41
43
  .tap do |request|
@@ -45,6 +47,12 @@ module Katinguele
45
47
  end
46
48
  end
47
49
 
50
+ def build_katinguele_request_lazy
51
+ return unless katinguele_options.dig(:service_options, :lazy)
52
+
53
+ build_katinguele_request(true)
54
+ end
55
+
48
56
  def rescue_faraday_error?(req, res, err)
49
57
  req.after!(req, res, err) || (err.is_a?(Katinguele::TimeoutError) && !req.raise_error)
50
58
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Katinguele
4
- VERSION = '1.0.4'
4
+ VERSION = '1.0.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katinguele
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - linqueta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-20 00:00:00.000000000 Z
11
+ date: 2019-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday