Class: RspecApiDocumentation::Views::ApiBlueprintExample

Inherits:
MarkupExample
  • Object
show all
Defined in:
lib/rspec_api_documentation/views/api_blueprint_example.rb

Constant Summary collapse

TOTAL_SPACES_INDENTATION =
12.freeze

Constants inherited from MarkupExample

MarkupExample::SPECIAL_CHARS

Instance Method Summary collapse

Methods inherited from MarkupExample

#dirname, #filename, #method_missing, #respond_to?, #response_fields

Constructor Details

#initialize(example, configuration) ⇒ ApiBlueprintExample

Returns a new instance of ApiBlueprintExample.



6
7
8
9
# File 'lib/rspec_api_documentation/views/api_blueprint_example.rb', line 6

def initialize(example, configuration)
  super
  self.template_name = "rspec_api_documentation/api_blueprint_example"
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class RspecApiDocumentation::Views::MarkupExample

Instance Method Details

#extensionObject



43
44
45
# File 'lib/rspec_api_documentation/views/api_blueprint_example.rb', line 43

def extension
  Writers::ApiBlueprintWriter::EXTENSION
end

#parametersObject



11
12
13
14
15
16
17
18
19
# File 'lib/rspec_api_documentation/views/api_blueprint_example.rb', line 11

def parameters
  super.map do |parameter|
    parameter.merge({
      :required => !!parameter[:required],
      :has_example => !!parameter[:example],
      :has_type => !!parameter[:type]
    })
  end
end

#requestsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rspec_api_documentation/views/api_blueprint_example.rb', line 21

def requests
  super.map do |request|
    request[:request_headers_text]  = remove_utf8_for_json(remove_content_type(request[:request_headers_text]))
    request[:request_headers_text]  = indent(request[:request_headers_text])
    request[:request_content_type]  = content_type(request[:request_headers])
    request[:request_content_type]  = remove_utf8_for_json(request[:request_content_type])
    request[:request_body]          = body_to_json(request, :request)
    request[:request_body]          = indent(request[:request_body])

    request[:response_headers_text] = remove_utf8_for_json(remove_content_type(request[:response_headers_text]))
    request[:response_headers_text] = indent(request[:response_headers_text])
    request[:response_content_type] = content_type(request[:response_headers])
    request[:response_content_type] = remove_utf8_for_json(request[:response_content_type])
    request[:response_body]         = body_to_json(request, :response)
    request[:response_body]         = indent(request[:response_body])

    request[:has_request?]          = has_request?(request)
    request[:has_response?]         = has_response?(request)
    request
  end
end