Class: ApiDef::Template::Markdown

Inherits:
ApiDef::Template show all
Defined in:
lib/api_def/template/markdown.rb

Constant Summary collapse

TEMPLATE_FILE =
%{
# <%= spec.name %>
# <%= spec.version %>

<% spec.elements.each do |ele| -%>
## <%= ele.name %>

<%= ele.desc %>
<% end -%>

<% spec.groups.each do |group| -%>
## <%= group.name %>

<%= group.desc %>
    <% group.entries.each do |entry| %>
### <%= entry.name %>

<%= entry.desc %>

#### `<%= entry.path %>` [<%= entry.method.to_s.upcase %>]
      <% entry.requests.each do |request| -%>

##### Request <%= request.name %>

<%= request.desc %>

<% request.params.each do |param| -%>
+ `<%= param.name %>`, <%= param.type %>, <%="Optional, " if param.optional%><%= param.desc %>
<% end -%>

      <% end -%>

      <% entry.responses.each do |response| -%>

##### Response <%= response.name %>

<%= response.desc %>

```json
<%= JSON.pretty_generate(response.body) %>
```
      <% end -%>
    <% end -%>
  <% end -%>
}

Instance Method Summary collapse

Methods inherited from ApiDef::Template

find

Instance Method Details

#render(_spec) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/api_def/template/markdown.rb', line 51

def render(_spec)
  clazz = ::ERB.new(TEMPLATE_FILE, nil, "-").def_class
  clazz.class_eval do
    def initialize(_spec)
      @spec = _spec
    end

    def spec
      @spec
    end
  end
  clazz.new(_spec).result
end