class RspecApiDocumentation::Writers::CombinedTextWriter

Public Class Methods

format_hash(hash, separator="=") click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 32
def self.format_hash(hash, separator="=")
  hash.sort_by { |k, v| k }.inject("") do |out, (k, v)|
    out << "  #{k}#{separator}#{v}\n"
  end
end

Public Instance Methods

write() click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 4
def write
  index.examples.each do |rspec_example|
    example = CombinedTextExample.new(rspec_example)
    FileUtils.mkdir_p(configuration.docs_dir.join(example.resource_name))
    File.open(configuration.docs_dir.join(example.resource_name, "index.txt"), "a+") do |f|
      f.print example.description
      f.print example.parameters

      example.requests.each_with_index do |(request, response), i|
        f.puts "Request:"
        f.puts request
        f.puts
        f.puts "Response:"
        f.puts response

        if i + 1 < example.requests.count
          f.puts
        end
      end

      unless rspec_example == index.examples.last
        f.puts
        f.puts
      end
    end
  end
end