Class: Swaggard::Swagger::Parameters::Body

Inherits:
Base
  • Object
show all
Defined in:
lib/swaggard/swagger/parameters/body.rb

Defined Under Namespace

Classes: Property

Instance Attribute Summary collapse

Attributes inherited from Base

#name

Instance Method Summary collapse

Constructor Details

#initialize(operation_name) ⇒ Body

Returns a new instance of Body.



11
12
13
14
15
16
# File 'lib/swaggard/swagger/parameters/body.rb', line 11

def initialize(operation_name)
  @in           = 'body'
  @name         = 'body'
  @description  = ''
  @definition   = Definition.new("#{operation_name}_body")
end

Instance Attribute Details

#definitionObject (readonly)

Returns the value of attribute definition.



9
10
11
# File 'lib/swaggard/swagger/parameters/body.rb', line 9

def definition
  @definition
end

Instance Method Details

#add_property(string) ⇒ Object



18
19
20
21
# File 'lib/swaggard/swagger/parameters/body.rb', line 18

def add_property(string)
  property = Property.new(string)
  @definition.add_property(property)
end

#to_docObject



23
24
25
26
27
28
29
30
31
32
# File 'lib/swaggard/swagger/parameters/body.rb', line 23

def to_doc
  doc = super

  doc.delete('type')

  doc['required'] = false
  doc['schema'] = { '$ref' => "#/definitions/#{@definition.id}" }

  doc
end