request-builder 0.1.115 → 0.2.0
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/lib/request/builder/dsl.rb +3 -3
- data/lib/request/builder/request_config.rb +20 -14
- data/lib/request/builder/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cf3a97fe30fcae542fe7408baeb64a43e780756289223976cb2dec000fe7f55
|
4
|
+
data.tar.gz: c14f4e0302f6b9cdd7dfee85c9cc8a2fdc02e8dbe15d8602ee7d63523abbaa26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bab01b5e370fa9bc933f885444c6d1a70dca7e67d3b587690f4fa28e69ad1e60f1e6ee7d2ef8dced6b0ac4c7853e41c1531c38545e64d111fd44492d8fc2fd36
|
7
|
+
data.tar.gz: 88397b03a03cc68e9294588360ff1a9c2a5c125d7d778c1747228576937e47c903053416e261dc8a4c5f2851ac01b0e0329be1bc8fb139aaedeac1ff233310c8
|
data/lib/request/builder/dsl.rb
CHANGED
@@ -11,12 +11,12 @@ module Request
|
|
11
11
|
end
|
12
12
|
|
13
13
|
module ClassMethods
|
14
|
-
def config
|
15
|
-
@config ||= RequestConfig.new
|
14
|
+
def config(conf=nil)
|
15
|
+
@config ||= conf.deep_dup || RequestConfig.new
|
16
16
|
end
|
17
17
|
|
18
18
|
def configure(conf = nil, &block)
|
19
|
-
|
19
|
+
config(conf)
|
20
20
|
|
21
21
|
config.instance_eval(&block) if block
|
22
22
|
end
|
@@ -7,11 +7,9 @@ module Request
|
|
7
7
|
|
8
8
|
attrs = [:params, :callbacks, :headers, :body, :host, :path, :method, :request_middleware, :response_middleware, :adapter, :logger, :timeout]
|
9
9
|
|
10
|
-
attr_reader :context, :
|
10
|
+
attr_reader :context, :stubs
|
11
11
|
attr_writer *attrs, :stubs, :context
|
12
12
|
|
13
|
-
alias callbacks callbacks_conf
|
14
|
-
|
15
13
|
def initialize
|
16
14
|
@body = nil
|
17
15
|
@host = nil
|
@@ -23,11 +21,7 @@ module Request
|
|
23
21
|
@stubs = Faraday::Adapter::Test::Stubs.new
|
24
22
|
@logger = nil
|
25
23
|
@timeout = 30
|
26
|
-
@body = nil
|
27
24
|
@response_schema = Dry::Schema.Params
|
28
|
-
@headers = HashWithIndifferentAccess.new
|
29
|
-
@params = HashWithIndifferentAccess.new
|
30
|
-
@callbacks = HashWithIndifferentAccess.new
|
31
25
|
@context = nil
|
32
26
|
end
|
33
27
|
|
@@ -43,10 +37,22 @@ module Request
|
|
43
37
|
|
44
38
|
[:before_validate].each do |name|
|
45
39
|
define_method name do |&block|
|
46
|
-
|
40
|
+
callbacks[name] = block
|
47
41
|
end
|
48
42
|
end
|
49
43
|
|
44
|
+
def headers
|
45
|
+
@headers ||= HashWithIndifferentAccess.new
|
46
|
+
end
|
47
|
+
|
48
|
+
def params
|
49
|
+
@params ||= HashWithIndifferentAccess.new
|
50
|
+
end
|
51
|
+
|
52
|
+
def callbacks
|
53
|
+
@callbacks ||= HashWithIndifferentAccess.new
|
54
|
+
end
|
55
|
+
|
50
56
|
def stubs(value = nil, &block)
|
51
57
|
if block_given?
|
52
58
|
@stubs.instance_eval(&block)
|
@@ -69,28 +75,28 @@ module Request
|
|
69
75
|
|
70
76
|
def header(key, value = nil, &block)
|
71
77
|
if value.nil? && block.nil?
|
72
|
-
value_with_context(
|
78
|
+
value_with_context(headers[key])
|
73
79
|
else
|
74
|
-
|
80
|
+
headers[key] = block || value
|
75
81
|
end
|
76
82
|
end
|
77
83
|
|
78
84
|
def param(key, value = nil, &block)
|
79
85
|
if value.nil? && block.nil?
|
80
|
-
value_with_context(
|
86
|
+
value_with_context(params[key])
|
81
87
|
else
|
82
|
-
|
88
|
+
params[key] = block || value
|
83
89
|
end
|
84
90
|
end
|
85
91
|
|
86
92
|
def each_header
|
87
|
-
|
93
|
+
headers.each do |key, value|
|
88
94
|
yield key, value_with_context(value)
|
89
95
|
end
|
90
96
|
end
|
91
97
|
|
92
98
|
def each_param
|
93
|
-
|
99
|
+
params.each do |key, value|
|
94
100
|
yield key, value_with_context(value)
|
95
101
|
end
|
96
102
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: request-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Kostyuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|