Module: HttpClientGenerator::SchemaBuilder
- Defined in:
- lib/http_client_generator/schema_builder.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
5 6 7 8 9 10 |
# File 'lib/http_client_generator/schema_builder.rb', line 5 def self.included(base) super require 'datacaster' base.extend(self) end |
Instance Method Details
#schema_for(name, kind: :choosy, &block) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/http_client_generator/schema_builder.rb', line 12 def schema_for(name, kind: :choosy, &block) @schemas ||= {} @schemas[name] = case kind in :choosy Datacaster.choosy_schema(&block) in :partial Datacaster.partial_schema(&block) in :strict Datacaster.schema(&block) end define_singleton_method(name) do |params| @schemas[name].(params) end define_method(name) do |params| @schemas[name].(params) end end |