Module: HttpClientGenerator::Plugs::ValidateResponse::SchemaBuilder

Defined in:
lib/http_client_generator/plugs/validate_response.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



9
10
11
12
13
14
# File 'lib/http_client_generator/plugs/validate_response.rb', line 9

def self.included(base)
  super

  require 'datacaster'
  base.extend(self)
end

Instance Method Details

#schema_for(name, &block) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/http_client_generator/plugs/validate_response.rb', line 16

def schema_for(name, &block)
  @schemas ||= {}
  @schemas[name] = Datacaster.choosy_schema(&block)

  define_singleton_method(name) do |params|
    @schemas[name].(params)
  end

  define_method(name) do |params|
    @schemas[name].(params)
  end
end