Sha256: 04c281b991a137e8d113323513724f027c0470e5754fd18a95b75be2f92b44a2
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 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::BodyParam.new(:string, name, description, options) end def boolean(name, description, options = {}) @required_fields << name if options.try(:[], :required) @child_definitions << WeakSwaggerParameters::Definitions::BodyParam.new(:boolean, name, description, options) end def integer(name, description, options = {}) @required_fields << name if options.try(:[], :required) @child_definitions << WeakSwaggerParameters::Definitions::BodyParam.new(:integer, name, description, options) end def apply_docs(parent_node) param_definitions = @child_definitions required_fields = @required_fields parent_node.instance_eval do parameter name: :body, in: :body, required: true do schema required: required_fields do schema_node = self param_definitions.each { |definition| definition.apply_docs(schema_node) } end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems