request-builder 0.1.111 → 0.1.115
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 +1 -1
- data/lib/request/builder/request_config.rb +28 -30
- data/lib/request/builder/value_with_context.rb +1 -1
- data/lib/request/builder/version.rb +1 -1
- data/lib/request/builder.rb +2 -7
- metadata +2 -7
- data/lib/request/builder/request_config/base.rb +0 -37
- data/lib/request/builder/request_config/body.rb +0 -21
- data/lib/request/builder/request_config/callbacks.rb +0 -29
- data/lib/request/builder/request_config/headers.rb +0 -17
- data/lib/request/builder/request_config/params.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0aeab800037782c3d71136146a447705d471b8cfa8a2bba2461ecbd157af7ca4
|
4
|
+
data.tar.gz: b417f235d042e847817ad4f733c0f99783358e1fc78d528199f3836a7ddb207b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 020b0311138c359c007f736158dc3a6b7a550f95b59e0e490421b21f3926dbc0c61a27aac9daddb520ed50ce4faeef62cb8c9e3aebdb43f9656e366fff2926dc
|
7
|
+
data.tar.gz: 89813f649c084295e3bb33853663272c620b4c840ce35f0c7eaae3ea10f8623d5a744b6c4d65a2107730647e3d8f3120778291e6da91c1a5acf8824c60e711b8
|
data/lib/request/builder/dsl.rb
CHANGED
@@ -5,14 +5,15 @@ module Request
|
|
5
5
|
|
6
6
|
delegate_missing_to :context
|
7
7
|
|
8
|
-
attrs = [:host, :path, :method, :request_middleware, :response_middleware, :adapter, :logger, :timeout]
|
8
|
+
attrs = [:params, :callbacks, :headers, :body, :host, :path, :method, :request_middleware, :response_middleware, :adapter, :logger, :timeout]
|
9
9
|
|
10
10
|
attr_reader :context, :body_conf, :headers_conf, :params_conf, :callbacks_conf, :stubs
|
11
|
-
attr_writer *attrs, :stubs
|
11
|
+
attr_writer *attrs, :stubs, :context
|
12
12
|
|
13
13
|
alias callbacks callbacks_conf
|
14
14
|
|
15
15
|
def initialize
|
16
|
+
@body = nil
|
16
17
|
@host = nil
|
17
18
|
@path = '/'
|
18
19
|
@method = :get
|
@@ -22,11 +23,12 @@ module Request
|
|
22
23
|
@stubs = Faraday::Adapter::Test::Stubs.new
|
23
24
|
@logger = nil
|
24
25
|
@timeout = 30
|
25
|
-
@
|
26
|
-
@headers_conf = RequestConfig::Headers.new
|
27
|
-
@params_conf = RequestConfig::Params.new
|
28
|
-
@callbacks_conf = RequestConfig::Callbacks.new
|
26
|
+
@body = nil
|
29
27
|
@response_schema = Dry::Schema.Params
|
28
|
+
@headers = HashWithIndifferentAccess.new
|
29
|
+
@params = HashWithIndifferentAccess.new
|
30
|
+
@callbacks = HashWithIndifferentAccess.new
|
31
|
+
@context = nil
|
30
32
|
end
|
31
33
|
|
32
34
|
attrs.each do |attr|
|
@@ -41,7 +43,7 @@ module Request
|
|
41
43
|
|
42
44
|
[:before_validate].each do |name|
|
43
45
|
define_method name do |&block|
|
44
|
-
callbacks
|
46
|
+
@callbacks[name] = block
|
45
47
|
end
|
46
48
|
end
|
47
49
|
|
@@ -65,36 +67,32 @@ module Request
|
|
65
67
|
end
|
66
68
|
end
|
67
69
|
|
68
|
-
def body(&block)
|
69
|
-
return body_conf.set(&block) if block_given?
|
70
|
-
|
71
|
-
body_conf.to_h
|
72
|
-
end
|
73
|
-
|
74
|
-
def headers(&block)
|
75
|
-
headers_conf.instance_eval(&block) if block_given?
|
76
|
-
|
77
|
-
headers_conf
|
78
|
-
end
|
79
|
-
|
80
70
|
def header(key, value = nil, &block)
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
params_conf
|
71
|
+
if value.nil? && block.nil?
|
72
|
+
value_with_context(@headers[key])
|
73
|
+
else
|
74
|
+
@headers[key] = block || value
|
75
|
+
end
|
88
76
|
end
|
89
77
|
|
90
78
|
def param(key, value = nil, &block)
|
91
|
-
|
79
|
+
if value.nil? && block.nil?
|
80
|
+
value_with_context(@params[key])
|
81
|
+
else
|
82
|
+
@params[key] = block || value
|
83
|
+
end
|
92
84
|
end
|
93
85
|
|
94
|
-
def
|
95
|
-
@
|
86
|
+
def each_header
|
87
|
+
@headers.each do |key, value|
|
88
|
+
yield key, value_with_context(value)
|
89
|
+
end
|
90
|
+
end
|
96
91
|
|
97
|
-
|
92
|
+
def each_param
|
93
|
+
@params.each do |key, value|
|
94
|
+
yield key, value_with_context(value)
|
95
|
+
end
|
98
96
|
end
|
99
97
|
|
100
98
|
def [] property
|
data/lib/request/builder.rb
CHANGED
@@ -6,11 +6,6 @@ require "active_support/core_ext/module/delegation"
|
|
6
6
|
require_relative "builder/version"
|
7
7
|
require_relative "builder/value_with_context"
|
8
8
|
require_relative "builder/request_config"
|
9
|
-
require_relative "builder/request_config/base"
|
10
|
-
require_relative "builder/request_config/body"
|
11
|
-
require_relative "builder/request_config/params"
|
12
|
-
require_relative "builder/request_config/headers"
|
13
|
-
require_relative "builder/request_config/callbacks"
|
14
9
|
require_relative "builder/result"
|
15
10
|
require_relative "builder/dsl"
|
16
11
|
require_relative "builder/connection"
|
@@ -64,11 +59,11 @@ module Request
|
|
64
59
|
@response = connection.send(config.method.downcase, config.path) do |req|
|
65
60
|
req.options.timeout = config.timeout
|
66
61
|
|
67
|
-
config.
|
62
|
+
config.each_param do |key, value|
|
68
63
|
req.params[key] = value
|
69
64
|
end
|
70
65
|
|
71
|
-
config.
|
66
|
+
config.each_header do |key, value|
|
72
67
|
req.headers[key] = value
|
73
68
|
end
|
74
69
|
|
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.1.
|
4
|
+
version: 0.1.115
|
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-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -127,11 +127,6 @@ files:
|
|
127
127
|
- lib/request/builder/connection.rb
|
128
128
|
- lib/request/builder/dsl.rb
|
129
129
|
- lib/request/builder/request_config.rb
|
130
|
-
- lib/request/builder/request_config/base.rb
|
131
|
-
- lib/request/builder/request_config/body.rb
|
132
|
-
- lib/request/builder/request_config/callbacks.rb
|
133
|
-
- lib/request/builder/request_config/headers.rb
|
134
|
-
- lib/request/builder/request_config/params.rb
|
135
130
|
- lib/request/builder/result.rb
|
136
131
|
- lib/request/builder/value_with_context.rb
|
137
132
|
- lib/request/builder/version.rb
|
@@ -1,37 +0,0 @@
|
|
1
|
-
module Request
|
2
|
-
module Builder
|
3
|
-
class RequestConfig::Base
|
4
|
-
include ValueWithContext
|
5
|
-
|
6
|
-
attr_accessor :context
|
7
|
-
attr_reader :store
|
8
|
-
|
9
|
-
delegate_missing_to :context
|
10
|
-
|
11
|
-
def initialize(context = nil)
|
12
|
-
@context = context
|
13
|
-
end
|
14
|
-
|
15
|
-
def each(&block)
|
16
|
-
raise NotImplementedError unless store.is_a?(Enumerable)
|
17
|
-
|
18
|
-
store.each do |value|
|
19
|
-
value[1] = value_with_context(value[1])
|
20
|
-
block.call(value)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def [] key
|
25
|
-
raise NotImplementedError unless store.is_a?(Enumerable)
|
26
|
-
|
27
|
-
value_with_context(store[key])
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def store
|
33
|
-
raise NotImplementedError
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Request
|
2
|
-
module Builder
|
3
|
-
class RequestConfig::Body < Request::Builder::RequestConfig::Base
|
4
|
-
def set(&block)
|
5
|
-
raise ArgumentError, 'You must provide a block' unless block_given?
|
6
|
-
|
7
|
-
@store = block
|
8
|
-
end
|
9
|
-
|
10
|
-
def to_h
|
11
|
-
value_with_context(store)
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def store
|
17
|
-
@store ||= nil
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Request
|
2
|
-
module Builder
|
3
|
-
class RequestConfig::Callbacks < Request::Builder::RequestConfig::Base
|
4
|
-
[:before_validate].each do |name|
|
5
|
-
define_method name do |&block|
|
6
|
-
raise ArgumentError, 'You must provide a block' unless block
|
7
|
-
|
8
|
-
store[name] = block
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def each(&block)
|
13
|
-
store.each do |value|
|
14
|
-
block.call(value)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def [] key
|
19
|
-
store[key]
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def store
|
25
|
-
@store ||= HashWithIndifferentAccess.new
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Request
|
2
|
-
module Builder
|
3
|
-
class RequestConfig::Headers < Request::Builder::RequestConfig::Base
|
4
|
-
def header(key, value = nil, &block)
|
5
|
-
raise ArgumentError, 'Must provide a value or block' if !value && !block
|
6
|
-
|
7
|
-
store[key] = block || value
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def store
|
13
|
-
@store ||= HashWithIndifferentAccess.new
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Request
|
2
|
-
module Builder
|
3
|
-
class RequestConfig::Params < Request::Builder::RequestConfig::Base
|
4
|
-
def param(key, value = nil, &block)
|
5
|
-
raise ArgumentError, 'Must provide a value or block' if !value && !block
|
6
|
-
|
7
|
-
store[key] = block || value
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def store
|
13
|
-
@store ||= HashWithIndifferentAccess.new
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|