61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/fdoc/presenters/schema_presenter.rb', line 61
def to_markdown(prefix = "")
md = StringIO.new
md << 'Deprecated' if deprecated?
md << "\n#{@schema["description"]}"
md << "\n#{prefix}* __Required__: #{required?}" if nested?
md << "\n#{prefix}* __Type__: #{type}" if type
md << "\n#{prefix}* __Format__: #{format}" if format
md << "\n#{prefix}* __Example__: <tt>#{example.to_markdown}</tt>" if example
md << "\n#{@schema['enum']}"
(@schema.keys - Fdoc::SchemaPresenter::FORMATTED_KEYS).each do |key|
md << "\n#{prefix}* %{key} %{@schema[key]}"
end
if items = @schema["items"]
md << "\n#{prefix}* Items"
if items.kind_of? Array
item.compact.each do |item|
md << Fdoc::SchemaPresenter.new(item, options.merge(:nested => true)).to_markdown(prefix + "\t")
end
else
md << Fdoc::SchemaPresenter.new(@schema["items"], options.merge(:nested => true)).to_markdown(prefix + "\t")
end
end
if properties = @schema["properties"]
properties.each do |key, property|
next if property.nil?
md << "\n#{prefix}* __#{key}__:"
md << Fdoc::SchemaPresenter.new(property, options.merge(:nested => true)).to_markdown(prefix + "\t")
end
end
md.string
end
|