class YARD::CLI::Display
Display
one object @since 0.8.6
Public Class Methods
Source
# File lib/yard/cli/display.rb, line 9 def initialize(*args) super options.format = :text # default for this command @layout = nil @objects = [] end
Calls superclass method
Public Instance Methods
Source
# File lib/yard/cli/display.rb, line 7 def description; 'Displays a formatted object' end
Source
# File lib/yard/cli/display.rb, line 27 def format_objects @objects.inject([]) do |arr, obj| arr.push obj.format(options) end.join("\n") end
@return [String] the output data for all formatted objects
Source
# File lib/yard/cli/display.rb, line 61 def output_options(opts) super(opts) opts.on('-l', '--layout [LAYOUT]', 'Wraps output in layout template (good for HTML)') do |layout| @layout = layout || 'layout' end end
Calls superclass method
Source
# File lib/yard/cli/display.rb, line 46 def parse_arguments(*args) opts = OptionParser.new opts.banner = "Usage: yard display [options] OBJECT [OTHER OBJECTS]" general_options(opts) output_options(opts) parse_options(opts, args) Registry.load @objects = args.map {|o| Registry.at(o) } # validation return false if @objects.any?(&:nil?) verify_markup_options end
Parses commandline options. @param [Array<String>] args each tokenized argument
Source
# File lib/yard/cli/display.rb, line 21 def run(*args) return unless parse_arguments(*args) log.puts wrap_layout(format_objects) end
Runs the commandline utility, parsing arguments and displaying an object from the {Registry}.
@param [Array<String>] args the list of arguments. @return [void]
Source
# File lib/yard/cli/display.rb, line 33 def wrap_layout(contents) return contents unless @layout opts = options.merge( :contents => contents, :object => @objects.first, :objects => @objects ) args = [options.template, @layout, options.format] Templates::Engine.template(*args).run(opts) end