request-builder 0.2.0 → 0.2.1

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: 5cf3a97fe30fcae542fe7408baeb64a43e780756289223976cb2dec000fe7f55
4
- data.tar.gz: c14f4e0302f6b9cdd7dfee85c9cc8a2fdc02e8dbe15d8602ee7d63523abbaa26
3
+ metadata.gz: e110bc438cf71ea590974b59776f31f98a83f813aa0a6ec71b4d89dc6270b0c0
4
+ data.tar.gz: a9b9b7561de2f5c881eb79e2b4c616bb44a97251a76f022712fc4368a91b4175
5
5
  SHA512:
6
- metadata.gz: bab01b5e370fa9bc933f885444c6d1a70dca7e67d3b587690f4fa28e69ad1e60f1e6ee7d2ef8dced6b0ac4c7853e41c1531c38545e64d111fd44492d8fc2fd36
7
- data.tar.gz: 88397b03a03cc68e9294588360ff1a9c2a5c125d7d778c1747228576937e47c903053416e261dc8a4c5f2851ac01b0e0329be1bc8fb139aaedeac1ff233310c8
6
+ metadata.gz: 067b073a76fc2b3f075e911b063fc27fef20c824013829757925856e33b7bf1c6b3b5307862e152c39e2e85fb035b2ece4c884be9b87152a5ffbfe375cae680a
7
+ data.tar.gz: '04238bd2df8e87d966a8267162ad140228391aacda7d5de3de50f6d4a543bc58eaa80e010f2aa644722bf365c3ddee383739d194f97026c0f1e56ac49bca381b'
@@ -10,19 +10,23 @@ module Request
10
10
  attr_reader :context, :stubs
11
11
  attr_writer *attrs, :stubs, :context
12
12
 
13
- def initialize
14
- @body = nil
15
- @host = nil
16
- @path = '/'
17
- @method = :get
18
- @request_middleware = :json
19
- @response_middleware = :json
20
- @adapter = Request::Builder.default_adapter
21
- @stubs = Faraday::Adapter::Test::Stubs.new
22
- @logger = nil
23
- @timeout = 30
24
- @response_schema = Dry::Schema.Params
13
+ def initialize(**params)
14
+ @body = params[:body]
15
+ @host = params[:host]
16
+ @path = params[:path] || '/'
17
+ @method = params[:method] ||:get
18
+ @request_middleware = params[:request_middleware] || :json
19
+ @response_middleware = params[:response_middleware] || :json
20
+ @adapter = params[:adapter] || Request::Builder.default_adapter
21
+ @stubs = params[:stubs] || Faraday::Adapter::Test::Stubs.new
22
+ @logger = params[:logger]
23
+ @timeout = params[:timeout] || 30
24
+ @response_schema = params[:response_schema] || Dry::Schema.Params
25
25
  @context = nil
26
+ @body = params[:body]
27
+ @params = params[:params] || HashWithIndifferentAccess.new
28
+ @headers = params[:headers] || HashWithIndifferentAccess.new
29
+ @callbacks = params[:callbacks] || HashWithIndifferentAccess.new
26
30
  end
27
31
 
28
32
  attrs.each do |attr|
@@ -41,18 +45,6 @@ module Request
41
45
  end
42
46
  end
43
47
 
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
-
56
48
  def stubs(value = nil, &block)
57
49
  if block_given?
58
50
  @stubs.instance_eval(&block)
@@ -105,6 +97,26 @@ module Request
105
97
  instance_variable_get("@#{property}".to_sym)
106
98
  end
107
99
 
100
+ def dup
101
+ Request::Builder::RequestConfig.new(
102
+ body: @body.dup,
103
+ host: @host.dup,
104
+ path: @path.dup,
105
+ method: @method,
106
+ request_middleware: @request_middleware,
107
+ response_middleware: @response_middleware,
108
+ adapter: @adapter,
109
+ stubs: @stubs,
110
+ logger: @logger,
111
+ timeout: @timeout,
112
+ response_schema: @response_schema,
113
+ body: @body.dup,
114
+ params: @params.dup,
115
+ headers: @headers.dup,
116
+ callbacks: @callbacks.dup
117
+ )
118
+ end
119
+
108
120
  Module.new do
109
121
  singleton_class.send :define_method, :included do |host_class|
110
122
  host_class.extend class_methods
@@ -1,5 +1,5 @@
1
1
  module Request
2
2
  module Builder
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: request-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Kostyuk