Class: YARD::CLI::Stats
- Inherits:
-
Object
- Object
- YARD::CLI::Stats
- Defined in:
- lib/puppet-strings/yard.rb
Overview
Monkey patch the stats object to return statistics for our objects. This is the recommended way to add custom stats.
Instance Method Summary collapse
- #output(name, data, undoc = nil) ⇒ Object
- #stats_for_puppet_classes ⇒ Object
- #stats_for_puppet_data_type_aliases ⇒ Object
- #stats_for_puppet_data_types ⇒ Object
- #stats_for_puppet_defined_types ⇒ Object
- #stats_for_puppet_functions ⇒ Object
- #stats_for_puppet_plans ⇒ Object
- #stats_for_puppet_providers ⇒ Object
- #stats_for_puppet_tasks ⇒ Object
- #stats_for_puppet_types ⇒ Object
-
#type_statistics_all(type) ⇒ Object
This differs from the YARD implementation in that it considers a docstring without text but with tags to be undocumented.
Instance Method Details
#output(name, data, undoc = nil) ⇒ Object
111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/puppet-strings/yard.rb', line 111 def output(name, data, undoc = nil) # Monkey patch output to accommodate our larger header widths @total += data if data.is_a?(Integer) && undoc @undocumented += undoc if undoc.is_a?(Integer) data = if undoc "#{data} (#{undoc} undocumented)" else data.to_s end log.puts("#{name.ljust(25)} #{data}") end |
#stats_for_puppet_classes ⇒ Object
73 74 75 |
# File 'lib/puppet-strings/yard.rb', line 73 def stats_for_puppet_classes output 'Puppet Classes', *type_statistics_all(:puppet_class) end |
#stats_for_puppet_data_type_aliases ⇒ Object
81 82 83 |
# File 'lib/puppet-strings/yard.rb', line 81 def stats_for_puppet_data_type_aliases output 'Puppet Data Type Aliases', *type_statistics_all(:puppet_data_type_alias) end |
#stats_for_puppet_data_types ⇒ Object
77 78 79 |
# File 'lib/puppet-strings/yard.rb', line 77 def stats_for_puppet_data_types output 'Puppet Data Types', *type_statistics_all(:puppet_data_type) end |
#stats_for_puppet_defined_types ⇒ Object
85 86 87 |
# File 'lib/puppet-strings/yard.rb', line 85 def stats_for_puppet_defined_types output 'Puppet Defined Types', *type_statistics_all(:puppet_defined_type) end |
#stats_for_puppet_functions ⇒ Object
97 98 99 |
# File 'lib/puppet-strings/yard.rb', line 97 def stats_for_puppet_functions output 'Puppet Functions', *type_statistics_all(:puppet_function) end |
#stats_for_puppet_plans ⇒ Object
105 106 107 108 109 |
# File 'lib/puppet-strings/yard.rb', line 105 def stats_for_puppet_plans return unless PuppetStrings.puppet_5? output 'Puppet Plans', *type_statistics_all(:puppet_plan) end |
#stats_for_puppet_providers ⇒ Object
93 94 95 |
# File 'lib/puppet-strings/yard.rb', line 93 def stats_for_puppet_providers output 'Puppet Providers', *type_statistics_all(:puppet_provider) end |
#stats_for_puppet_tasks ⇒ Object
101 102 103 |
# File 'lib/puppet-strings/yard.rb', line 101 def stats_for_puppet_tasks output 'Puppet Tasks', *type_statistics_all(:puppet_task) end |
#stats_for_puppet_types ⇒ Object
89 90 91 |
# File 'lib/puppet-strings/yard.rb', line 89 def stats_for_puppet_types output 'Puppet Types', *type_statistics_all(:puppet_type) end |
#type_statistics_all(type) ⇒ Object
This differs from the YARD implementation in that it considers a docstring without text but with tags to be undocumented.
126 127 128 129 130 131 |
# File 'lib/puppet-strings/yard.rb', line 126 def type_statistics_all(type) objs = all_objects.select { |m| m.type == type } undoc = objs.select { |m| m.docstring.all.empty? } @undoc_list |= undoc if @undoc_list [objs.size, undoc.size] end |