Class: Apiculture::MethodDocumentation

Inherits:
Object
  • Object
show all
Defined in:
lib/apiculture/method_documentation.rb

Overview

Generates Markdown/HTML documentation about a single API action.

Formats route parameters and request/QS parameters as a neat HTML table, listing types, requirements and descriptions.

Is used by AppDocumentation to compile a document on the entire app’s API structure in one go.

Defined Under Namespace

Classes: MDBuf, StringBuf

Instance Method Summary collapse

Constructor Details

#initialize(action_definition, mountpoint = '') ⇒ MethodDocumentation

Returns a new instance of MethodDocumentation.



12
13
14
15
# File 'lib/apiculture/method_documentation.rb', line 12

def initialize(action_definition, mountpoint = '')
  @definition = action_definition
  @mountpoint = mountpoint
end

Instance Method Details

#to_html_fragmentObject

Compose an HTML string by converting the result of to_markdown



30
31
32
# File 'lib/apiculture/method_documentation.rb', line 30

def to_html_fragment
  markdown_string_to_html(to_markdown)
end

#to_markdownObject

Compose a Markdown definition of the action



18
19
20
21
22
23
24
25
26
27
# File 'lib/apiculture/method_documentation.rb', line 18

def to_markdown
  m = MDBuf.new
  m << "## #{@definition.http_verb.upcase} #{@mountpoint}#{@definition.path}"
  m << @definition.description
  m << route_parameters_table
  m << request_parameters_table
  m << possible_responses_table

  m.to_s
end