class WeakSwaggerParameters::Definitions::HashProperty

Public Class Methods

new(name, description, &block) click to toggle source
# File lib/weak_swagger_parameters/definitions/hash_property.rb, line 8
def initialize(name, description, &block)
  @name = name
  @description = description

  instance_eval(&block) if block.present?
end

Public Instance Methods

apply_docs(parent_node) click to toggle source
# File lib/weak_swagger_parameters/definitions/hash_property.rb, line 26
def apply_docs(parent_node)
  name = @name
  description = @description
  definitions = child_definitions

  parent_node.instance_eval do
    property name, description: description, type: :object do
      hash_node = self
      definitions.each { |definition| definition.apply_docs(hash_node) }
    end
  end
end
apply_validations(parent_node) click to toggle source
# File lib/weak_swagger_parameters/definitions/hash_property.rb, line 15
def apply_validations(parent_node)
  name = @name
  param_definitions = child_definitions

  parent_node.instance_eval do
    hash name, strong: true do
      param_definitions.each { |definition| definition.apply_validations(parent_node) }
    end
  end
end