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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0aeab800037782c3d71136146a447705d471b8cfa8a2bba2461ecbd157af7ca4
4
- data.tar.gz: b417f235d042e847817ad4f733c0f99783358e1fc78d528199f3836a7ddb207b
3
+ metadata.gz: 5cf3a97fe30fcae542fe7408baeb64a43e780756289223976cb2dec000fe7f55
4
+ data.tar.gz: c14f4e0302f6b9cdd7dfee85c9cc8a2fdc02e8dbe15d8602ee7d63523abbaa26
5
5
  SHA512:
6
- metadata.gz: 020b0311138c359c007f736158dc3a6b7a550f95b59e0e490421b21f3926dbc0c61a27aac9daddb520ed50ce4faeef62cb8c9e3aebdb43f9656e366fff2926dc
7
- data.tar.gz: 89813f649c084295e3bb33853663272c620b4c840ce35f0c7eaae3ea10f8623d5a744b6c4d65a2107730647e3d8f3120778291e6da91c1a5acf8824c60e711b8
6
+ metadata.gz: bab01b5e370fa9bc933f885444c6d1a70dca7e67d3b587690f4fa28e69ad1e60f1e6ee7d2ef8dced6b0ac4c7853e41c1531c38545e64d111fd44492d8fc2fd36
7
+ data.tar.gz: 88397b03a03cc68e9294588360ff1a9c2a5c125d7d778c1747228576937e47c903053416e261dc8a4c5f2851ac01b0e0329be1bc8fb139aaedeac1ff233310c8
@@ -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
- @config = conf.dup if conf
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, :body_conf, :headers_conf, :params_conf, :callbacks_conf, :stubs
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
- @callbacks[name] = block
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(@headers[key])
78
+ value_with_context(headers[key])
73
79
  else
74
- @headers[key] = block || value
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(@params[key])
86
+ value_with_context(params[key])
81
87
  else
82
- @params[key] = block || value
88
+ params[key] = block || value
83
89
  end
84
90
  end
85
91
 
86
92
  def each_header
87
- @headers.each do |key, value|
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
- @params.each do |key, value|
99
+ params.each do |key, value|
94
100
  yield key, value_with_context(value)
95
101
  end
96
102
  end
@@ -1,5 +1,5 @@
1
1
  module Request
2
2
  module Builder
3
- VERSION = "0.1.115"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  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.1.115
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-26 00:00:00.000000000 Z
11
+ date: 2022-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday