Class: ApiDef::Template::Textile

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

Constant Summary collapse

TEMPLATE_FILE =
%{
h1. <%= spec.name %>

h1. <%= spec.version %>

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

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

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

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

<%= entry.desc %>

h4. @<%= entry.method.to_s.upcase %>@ @<%= entry.path %>@
      <% entry.requests.each do |request| -%>

h4. Request <%= request.name %>

<%= request.desc %>

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

      <% end -%>

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

h4. Response <%= response.name %>

<%= response.desc %>

bc. <%= JSON.pretty_generate(response.body) %>

      <% end -%>
    <% end -%>
  <% end -%>
}

Constants inherited from ApiDef::Template

SUPPORTED_TEMPLATES

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/textile.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