Class: RspecApiDocumentation::Views::ApiBlueprintIndex
- Inherits:
-
MarkupIndex
- Object
- Mustache
- MarkupIndex
- RspecApiDocumentation::Views::ApiBlueprintIndex
- Defined in:
- lib/rspec_api_documentation/views/api_blueprint_index.rb
Instance Method Summary collapse
- #examples ⇒ Object
-
#initialize(index, configuration) ⇒ ApiBlueprintIndex
constructor
A new instance of ApiBlueprintIndex.
- #sections ⇒ Object
Constructor Details
#initialize(index, configuration) ⇒ ApiBlueprintIndex
Returns a new instance of ApiBlueprintIndex.
4 5 6 7 |
# File 'lib/rspec_api_documentation/views/api_blueprint_index.rb', line 4 def initialize(index, configuration) super self.template_name = "rspec_api_documentation/api_blueprint_index" end |
Instance Method Details
#examples ⇒ Object
40 41 42 43 44 |
# File 'lib/rspec_api_documentation/views/api_blueprint_index.rb', line 40 def examples @index.examples.map do |example| ApiBlueprintExample.new(example, @configuration) end end |
#sections ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rspec_api_documentation/views/api_blueprint_index.rb', line 9 def sections super.map do |section| routes = section[:examples].group_by { |e| "#{e.route_uri}#{e.route_optionals}#{e.route_name}" }.map do |route, examples| attrs = fields(:attributes, examples) params = fields(:parameters, examples) methods = examples.group_by(&:http_method).map do |http_method, examples| { http_method: http_method, description: examples.first.respond_to?(:action_name) && examples.first.action_name, examples: examples } end { "has_attributes?".to_sym => attrs.size > 0, "has_parameters?".to_sym => params.size > 0, route: format_route(examples[0]), route_name: examples[0][:route_name], attributes: attrs, parameters: params, http_methods: methods } end section.merge({ routes: routes }) end end |