class Swaggard::Swagger::Definition
Attributes
description[W]
id[R]
title[W]
Public Class Methods
new(id)
click to toggle source
# File lib/swaggard/swagger/definition.rb, line 8 def initialize(id) @id = id @title = '' @properties = [] @description = '' end
Public Instance Methods
add_property(property)
click to toggle source
# File lib/swaggard/swagger/definition.rb, line 15 def add_property(property) @properties << property end
empty?()
click to toggle source
# File lib/swaggard/swagger/definition.rb, line 19 def empty? @properties.empty? end
to_doc()
click to toggle source
# File lib/swaggard/swagger/definition.rb, line 23 def to_doc {}.tap do |doc| doc['title'] = @title if @title.present? doc['type'] = 'object' doc['description'] = @description if @description.present? doc['properties'] = Hash[@properties.map { |property| [property.id, property.to_doc] }] required_properties = @properties.select(&:required?).map(&:id) doc['required'] = required_properties if required_properties.any? end end