Class: RspecApiDocumentation::Views::SlateExample

Inherits:
MarkdownExample show all
Defined in:
lib/rspec_api_documentation/views/slate_example.rb

Constant Summary

Constants inherited from MarkdownExample

MarkdownExample::EXTENSION

Instance Method Summary collapse

Methods inherited from MarkdownExample

#extension

Methods inherited from MarkupExample

#dirname, #extension, #filename, #method_missing, #parameters, #requests, #respond_to?

Constructor Details

#initialize(example, configuration) ⇒ SlateExample

Returns a new instance of SlateExample.



4
5
6
7
# File 'lib/rspec_api_documentation/views/slate_example.rb', line 4

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

Dynamic Method Handling

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

Instance Method Details

#curl_with_linebreaksObject



9
10
11
12
13
# File 'lib/rspec_api_documentation/views/slate_example.rb', line 9

def curl_with_linebreaks
  requests.map {|request| request[:curl].lines }.flatten.map do |line|
    line.rstrip.gsub("\t", '  ').gsub(' ', ' ').gsub('\\', '\')
  end.join "<br>"
end

#explanation_with_linebreaksObject



15
16
17
# File 'lib/rspec_api_documentation/views/slate_example.rb', line 15

def explanation_with_linebreaks
  explanation.gsub "\n", "<br>\n"
end

#writeObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rspec_api_documentation/views/slate_example.rb', line 19

def write
  File.open(configuration.docs_dir.join("#{FILENAME}.#{extension}"), 'w+') do |file|
    file.write "# #{configuration.api_name}\n\n"
    index.examples.sort_by!(&:description) unless configuration.keep_source_order

    index.examples.each do |example|
      markup_example = markup_example_class.new(example, configuration)
      file.write markup_example.render
    end
  end
end