puppet-doc-lint

Build Status

Lint your Puppet files for RDoc coverage

This project is heavily based on the puppet-parse code base, go check it out! :smile:

Assumptions

This assumes that you're formatting your documentation in Puppet with RDoc formatting.

For example this will work:

# == Class: foo
#
# This module manages foo
#
# === Parameters
#
# [*ensure*]
#   Controls presence of package and stuff
#
# === Authors
#
# * Jane Doe <mailto:[email protected]>
#

This will not:

# Class: foo
#
# This module manages foo
#
# Parameters:
#   - $ensure
#
# Authors: Jane Doe <mailto:[email protected]>
#

Installation

gem install puppet-doc-lint

Usage

By hand

You can report on one or more manifests by running

puppet-doc-lint <path(s) to file(s)>

For example:

puppet-doc-lint ~/Projects/puppetlabs-firewall/manifests/linux/debian.pp
class firewall::linux::debian Parameters are ["ensure", "enable"]
class firewall::linux::debian Docs found are ["ensure", "enable"]

Rake task

** Currrently broken maybe? **

If you want to parse your entire modules directory, you can add `require 'puppet-doc-lint/rake-task' to your Rakefile and then run

rake parse

If you need to ignore certain paths from being parsed:

PuppetDocLint.configuration.ignore_paths = ["vendor/**/*.pp"]

Contributing

You can do any of these:

  1. Create new Pull Request
  2. Create an issue
  3. Write me an email
  4. Complain about how useless my code is on twitter