class RspecApiDocumentation::Writers::CombinedTextExample
Attributes
example[R]
Public Class Methods
new(example)
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 42 def initialize(example) @example = example end
Public Instance Methods
description()
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 50 def description example.description + "\n" + "-" * example.description.length + "\n\n" end
parameters()
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 54 def parameters return "" unless example.metadata[:parameters] "Parameters:\n" + example.metadata[:parameters].inject("") do |out, parameter| out << " * #{parameter[:name]} - #{parameter[:description]}\n" end + "\n" end
requests()
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 61 def requests return [] unless example.metadata[:requests] example.metadata[:requests].map do |request| [format_request(request), format_response(request)] end end
resource_name()
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 46 def resource_name example.resource_name.to_s.downcase.gsub(/\s+/, '_') end
Private Instance Methods
format_hash(hash, separator="=")
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 98 def format_hash(hash, separator="=") return unless hash hash.sort_by { |k, v| k }.map do |k, v| " #{k}#{separator}#{v}" end.join("\n") end
format_request(request)
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 69 def format_request(request) [ [ " #{request[:request_method]} #{request[:request_path]}", format_hash(request[:request_headers], ": ") ], [ format_string(request[:request_body]) || format_hash(request[:request_query_parameters]) ] ].map { |x| x.compact.join("\n") }.reject(&:blank?).join("\n\n") + "\n" end
format_response(request)
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 81 def format_response(request) [ [ " Status: #{request[:response_status]} #{request[:response_status_text]}", format_hash(request[:response_headers], ": ") ], [ format_string(request[:response_body]) ] ].map { |x| x.compact.join("\n") }.reject(&:blank?).join("\n\n") + "\n" end
format_string(string)
click to toggle source
# File lib/rspec_api_documentation/writers/combined_text_writer.rb, line 93 def format_string(string) return unless string string.split("\n").map { |line| " #{line}" }.join("\n") end