ARI: Improve wiki documentation

This patch improves the documentation of ARI on the wiki. Specifically, it
addresses the following:
* Allowed values and allowed ranges weren't documented. This was particularly
  frustrating, as Asterisk would reject query parameters with disallowed values
  - but we didn't tell anyone what the allowed values were.
* The /play/id operation on /channels and /bridges failed to document all of
  the added media resource types.
* Documentation for creating a channel into a Stasis application failed to
  note when it occurred, and that creating a channel into Stasis conflicts with
  creating a channel into the dialplan.
* Some other minor tweaks in the mustache templates, including italicizing the
  parameter type, putting the default value on its own sub-bullet, and some
  other nicities.

Review: https://reviewboard.asterisk.org/r/4351
........

Merged revisions 431145 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2015-01-27 17:21:03 +00:00
parent aa8fd7d1b9
commit fb8a2e0399
9 changed files with 68 additions and 46 deletions

View File

@@ -11,21 +11,33 @@ h1. {{name_title}}
{{#operations}}
{anchor:{{nickname}}}
h2. {{http_method}} {{wiki_path}}
h2. {{nickname}}: {{http_method}} {{wiki_path}}
{{{wiki_summary}}}{{#wiki_notes}} {{{wiki_notes}}}{{/wiki_notes}}
{{#has_path_parameters}}
h3. Path parameters
{{#path_parameters}}
* {{name}}: {{data_type}}{{#default_value}} = {{default_value}}{{/default_value}} - {{{wiki_description}}}
* {{name}}: _{{data_type}}_ - {{{wiki_description}}}
{{#default_value}}
** Default: {{default_value}}
{{/default_value}}
{{#wiki_allowable_values}}
** {{wiki_allowable_values}}
{{/wiki_allowable_values}}
{{/path_parameters}}
{{/has_path_parameters}}
{{#has_query_parameters}}
h3. Query parameters
{{#query_parameters}}
* {{name}}: {{data_type}}{{#default_value}} = {{default_value}}{{/default_value}} -{{#required}} *(required)*{{/required}} {{{wiki_description}}}
* {{name}}: _{{data_type}}_ -{{#required}} *(required)*{{/required}} {{{wiki_description}}}
{{#default_value}}
** Default: {{default_value}}
{{/default_value}}
{{#wiki_allowable_values}}
** {{wiki_allowable_values}}
{{/wiki_allowable_values}}
{{#allow_multiple}}
** Allows comma separated values.
{{/allow_multiple}}

View File

@@ -223,6 +223,10 @@ class AsteriskProcessor(SwaggerPostProcessor):
else:
parameter.c_space = ' '
parameter.wiki_description = wikify(parameter.description)
if parameter.allowable_values:
parameter.wiki_allowable_values = parameter.allowable_values.to_wiki()
else:
parameter.wiki_allowable_values = None
def process_model(self, model, context):
model.description_dox = model.description.replace('\n', '\n * ')

View File

@@ -220,6 +220,9 @@ class AllowableRange(Stringify):
self.min_value = min_value
self.max_value = max_value
def to_wiki(self):
return "Allowed range: Min: {0}; Max: {1}".format(self.min_value, self.max_value)
class AllowableList(Stringify):
"""Model of a allowableValues of type LIST
@@ -229,6 +232,9 @@ class AllowableList(Stringify):
def __init__(self, values):
self.values = values
def to_wiki(self):
return "Allowed values: {0}".format(", ".join(self.values))
def load_allowable_values(json, context):
"""Parse a JSON allowableValues object.