Go to file
Charlie Sharpsteen a71c53f3d5 Add DefinedTypeObject#inheritance_tree
The `YARD::Registry#resolve` method assumes all subclasses of `NamespaceObject`
respond to `inheritance_tree`.

Ref commit d6a4791 for a similar case with `HostClassObject`.
2014-06-01 18:03:20 -07:00
lib Add DefinedTypeObject#inheritance_tree 2014-06-01 18:03:20 -07:00
spec Initial commit 2014-05-16 10:57:24 -07:00
.gitignore Add Bundler artifacts to .gitignore 2014-05-25 19:11:32 -07:00
README.md Add README.md 2014-05-30 12:23:10 -07:00
Rakefile Initial commit 2014-05-16 10:57:24 -07:00
metadata.json Remove dependency on puppetlabs-stdlib 2014-06-01 11:43:59 -07:00

README.md

Puppet YARDoc

A Puppet Face and plugin built on the YARD Documentation Tool and Puppet Future Parser.

WARNING: This is very much a science experiment in progress. Things may blow up or change rapidly depending on the Temperature in Portland on a given day.

Installation

Currently, just git clone directly into the Puppet modulepath. Ensure the yard and rgen gems are installed. If running Ruby 1.8.7, ensure the backports gem is installed.

Usage

Documenting a module:

cd /path/to/module
puppet yardoc

This processes README and everything in manifests/**/*.pp.

Documenting specific manifests:

puppet yardoc some_manifest.pp [another_if_you_feel_like_it.pp]

Processing is delegated to the yardoc tool so some options listed in yard help doc are available. However, Puppet Faces do not support passing arbitrary options through a face so these options must be specified in a .yardopts file.

Caveats

  • At the moment, only top-level Classes and Defined Types are parsed and formatted.

  • Documentation blocks must immediately precede the documented code with no whitespace. This is because the comment extractor possesses the elegance and intelligance of a bag of hammers.

  • Support for Ruby 1.8.7 may disappear in the future.

  • This is a science experiment. It has a high probability of exploding catastrophically instead of doing something useful.