request-builder 0.1.115 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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