Class: WeakSwaggerParameters::Definitions::Model

Inherits:
Object
  • Object
show all
Includes:
PropertyContainer
Defined in:
lib/weak_swagger_parameters/definitions/model.rb

Instance Method Summary collapse

Constructor Details

#initialize(model_name, &block) ⇒ Model

Returns a new instance of Model.



8
9
10
11
12
# File 'lib/weak_swagger_parameters/definitions/model.rb', line 8

def initialize(model_name, &block)
  @model_name = model_name

  instance_eval(&block) if block.present?
end

Instance Method Details

#apply_docs(parent_node) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/weak_swagger_parameters/definitions/model.rb', line 18

def apply_docs(parent_node)
  model_name = @model_name
  definitions = child_definitions
  schema_options = {}
  schema_options[:required] = required_fields unless required_fields.empty?

  parent_node.instance_eval do
    swagger_schema model_name, schema_options do
      schema_node = self
      definitions.each { |definition| definition.apply_docs(schema_node) }
    end
  end
end

#apply_validations(parent_node) ⇒ Object



14
15
16
# File 'lib/weak_swagger_parameters/definitions/model.rb', line 14

def apply_validations(parent_node)
  child_definitions.each { |definition| definition.apply_validations(parent_node) }
end