Class: YARD::CLI::Display
- Inherits:
-
Yardoc
- Object
- Command
- YardoptsCommand
- Yardoc
- YARD::CLI::Display
- Defined in:
- lib/yard/cli/display.rb
Overview
Display one object
Instance Method Summary collapse
- #description ⇒ Object
-
#format_objects ⇒ String
The output data for all formatted objects.
-
#initialize(*args) ⇒ Display
constructor
A new instance of Display.
- #output_options(opts) ⇒ Object
-
#parse_arguments(*args) ⇒ Object
Parses commandline options.
-
#run(*args) ⇒ void
Runs the commandline utility, parsing arguments and displaying an object from the Registry.
- #wrap_layout(contents) ⇒ Object
Constructor Details
#initialize(*args) ⇒ Display
Returns a new instance of Display.
9 10 11 12 13 14 |
# File 'lib/yard/cli/display.rb', line 9 def initialize(*args) super .format = :text # default for this command @layout = nil @objects = [] end |
Instance Method Details
#description ⇒ Object
7 |
# File 'lib/yard/cli/display.rb', line 7 def description; 'Displays a formatted object' end |
#format_objects ⇒ String
Returns the output data for all formatted objects.
27 28 29 30 31 |
# File 'lib/yard/cli/display.rb', line 27 def format_objects @objects.inject([]) do |arr, obj| arr.push obj.format() end.join("\n") end |
#output_options(opts) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/yard/cli/display.rb', line 61 def (opts) super(opts) opts.on('-l', '--layout [LAYOUT]', 'Wraps output in layout template (good for HTML)') do |layout| @layout = layout || 'layout' end end |
#parse_arguments(*args) ⇒ Object
Parses commandline options.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/yard/cli/display.rb', line 46 def parse_arguments(*args) opts = OptionParser.new opts. = "Usage: yard display [options] OBJECT [OTHER OBJECTS]" (opts) (opts) (opts, args) Registry.load @objects = args.map {|o| Registry.at(o) } # validation return false if @objects.any?(&:nil?) end |
#run(*args) ⇒ void
This method returns an undefined value.
Runs the commandline utility, parsing arguments and displaying an object from the Registry.
21 22 23 24 |
# File 'lib/yard/cli/display.rb', line 21 def run(*args) return unless parse_arguments(*args) log.puts wrap_layout(format_objects) end |
#wrap_layout(contents) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/yard/cli/display.rb', line 33 def wrap_layout(contents) return contents unless @layout opts = .merge( :contents => contents, :object => @objects.first, :objects => @objects ) args = [.template, @layout, .format] Templates::Engine.template(*args).run(opts) end |