Sha256: a101cda8731f86c6f4322d3002a79e6833b4768938a2388f2479d957cf38ca0f

Contents?: true

Size: 841 Bytes

Versions: 1

Compression:

Stored size: 841 Bytes

Contents

module Dox
  module Printers
    class ActionPrinter < BasePrinter

      def print(action)
        @output.puts "### #{action.name} [#{action.verb} #{action.path}]\n\n#{print_desc(action.desc)}\n\n"

        if action.uri_params.present?
          @output.puts("+ Parameters\n#{formatted_params(action.uri_params)}")
        end

        action.examples.each do |example|
          example_printer.print(example)
        end
      end

      private

      def example_printer
        @example_printer ||= ExamplePrinter.new(@output)
      end

      def formatted_params(uri_params)
        uri_params.map do |param, details|
          "    + #{CGI.escape(param.to_s)}: `#{CGI.escape(details[:value].to_s)}` (#{details[:type]}, #{details[:required]}) - #{details[:description]}"
        end.flatten.join("\n")
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dox-1.0.0.alpha lib/dox/printers/action_printer.rb