Class: ApiDef::Template::Confluence

Inherits:
ApiDef::Template show all
Defined in:
lib/api_def/template/confluence.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 %>

{code:language=javascript}
<%= JSON.pretty_generate(response.body) %>
{code}

      <% 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



55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/api_def/template/confluence.rb', line 55

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