Sha256: f7b6222a6fdf64d1871845e545b421cfeb6cf9e03c33d0978f844d826e5156aa
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true module WeakSwaggerParameters module Definitions class Body < ParamContainer def initialize(&block) @required_fields = [] super end def string(name, description, options = {}) @required_fields << name if options.try(:[], :required) @child_definitions << WeakSwaggerParameters::Definitions::Property.new(:string, name, description, options) end def boolean(name, description, options = {}) @required_fields << name if options.try(:[], :required) @child_definitions << WeakSwaggerParameters::Definitions::Property.new(:boolean, name, description, options) end def integer(name, description, options = {}) @required_fields << name if options.try(:[], :required) @child_definitions << WeakSwaggerParameters::Definitions::Property.new(:integer, name, description, options) end def apply_docs(parent_node) param_definitions = @child_definitions schema_options = {} schema_options[:required] = @required_fields unless @required_fields.empty? parent_node.instance_eval do parameter name: :body, in: :body, required: true do schema schema_options do param_definitions.each { |definition| definition.apply_docs(self) } end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
weak_swagger_parameters-0.3.0 | lib/weak_swagger_parameters/definitions/body.rb |