http-client-generator 0.1.23 → 0.1.25

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: 8999f3c8370ae4dfa2c1444a6c4473fb042adf046c2908ab1b63bcccb92e97f8
4
- data.tar.gz: 59d12dc9c630ef3b7ce2b55c9447d4dcd4d8421e336524ae3de775895b0c635b
3
+ metadata.gz: 0e631d6496a32223a78647bd0e8e20351460609198fcb39120cbc6ee8dcb5e89
4
+ data.tar.gz: 8eceda8b7ce7eb04814e7646bcec2c2aba7e156688e585d228ba075da87b8105
5
5
  SHA512:
6
- metadata.gz: d2814174dddb430253358148deb4dcad1c9aeb14890eb0e9baf1699537b90ff6f67725de11227e95a2dd3843d1e1ebd492cdd20ee4650c3f6b3a4b771b9ad568
7
- data.tar.gz: 3ed009ce3680cbcf419edd8cf02812f5fd51a32f3aeb0931b7ee74efc51885b98c2205637849311b5267ed63e9854446f39c124c1017e2cec2c2d58a71ab2b1d
6
+ metadata.gz: 525fd231428f4978cf354812a02101a43b006e29b40e0b00c66ea0d4f529a684dda5ea7ee91ddc2f10ef06b20426e725d4f01ad366c51cf4f7fa4c0f629a0f18
7
+ data.tar.gz: b6da1d6c14f39bfbcfb402fd741e693315765c75791570efdd27e290cee0feda98c323abaad0fa43dd68ec3a135ff1c36f08f549225198dd636d12d271cd1652
@@ -6,15 +6,24 @@ module HttpClientGenerator
6
6
  Plugs.register :validate_response, self
7
7
 
8
8
  module SchemaBuilder
9
- def schema_for(name, &block)
9
+ def self.included(base)
10
+ super
11
+
10
12
  require 'datacaster'
13
+ base.extend(self)
14
+ end
11
15
 
16
+ def schema_for(name, &block)
12
17
  @schemas ||= {}
13
18
  @schemas[name] = Datacaster.choosy_schema(&block)
14
19
 
15
20
  define_singleton_method(name) do |params|
16
21
  @schemas[name].(params)
17
22
  end
23
+
24
+ define_method(name) do |params|
25
+ @schemas[name].(params)
26
+ end
18
27
  end
19
28
  end
20
29
 
@@ -29,7 +38,7 @@ module HttpClientGenerator
29
38
  return req unless @schema_helper.respond_to?(schema_name)
30
39
 
31
40
  req.response_body = @schema_helper.public_send(schema_name, req.response_body)
32
- .value_or { |e| req.raise_message(e.inspect) }
41
+ .value_or { |e| req.raise_message("Unexpected #{e.inspect} in #{req.response_body}") }
33
42
 
34
43
  req
35
44
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HttpClientGenerator
4
- VERSION = '0.1.23'
4
+ VERSION = '0.1.25'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http-client-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.23
4
+ version: 0.1.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Egorov