Class: DocMyRoutes::ExamplesHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/doc_my_routes/doc/examples_handler.rb

Overview

Base class to parse examples

Examples are expected to be in YAML format, see README.md for details

Class Method Summary collapse

Class Method Details

.parse_example(example_file) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/doc_my_routes/doc/examples_handler.rb', line 23

def parse_example(example_file)
  data = YAML.load_file(example_file)

  # Validate that mandatory parameters are present
  fail_unless_present(%w(name description request response action),
                      data)

  {
    'name' => data['name'],
    'description' => data['description'],
    'request' => parse_request(data),
    'response' => parse_response(data)
  }
end

.routes_examplesObject

Load json examples generated by tests



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/doc_my_routes/doc/examples_handler.rb', line 10

def routes_examples
  @routes_examples ||= begin
    examples = {}

    DocMyRoutes.config.examples.each do |example_file|
      data = parse_example(example_file)
      (examples[data['name']] ||= []) << data
    end

    examples
  end
end