NAME
Puppet::Tidy - Tidies up your Puppet manifests
SYNOPSIS
use Puppet::Tidy;
Puppet::Tidy::puppettidy(
source => $source,
destination => \@destination
);
DESCRIPTION
This module parses the Puppet code and applies a subset of checks from the Puppet Style Guide onto it. Currently the set of checks is rather limited, but already enough is implemented to catch common mistakes and to save you a great deal of time cleaning up your manifests.
The Puppet Style Guide can be found at http://docs.puppetlabs.com/guides/style_guide.html.
CHECKS
Currently the following checks are implemented:
expand_tabs
No literal tabs are allowed, this method converts literal tabs to two spaces.
trailing_whitespace
Removes trailing whitespace.
variable_string
Strings which only contain a variable, mustn't be quoted.
quotes_resource_ref_type
Check for an idiom where reference resource types (File, Package, Group)
have a double quoted string as argument. This requires the
variable_string() method to be called before.
quotes_title
Resource titles should be single quoted, unless they contain a variable.
In which case they should be double quoted.
quotes_attribute
Attributes should be enclosed in single quotes, unless they
contain a variable in which case either double or no quoting
is needed.
handle_modes
File modes should be defined using four digits, not three as often
done by mistake.
commenting
Although Puppet supports C (/**/) and C++ (//) style comments, it's
advised to use regular Puppet comments which use a pound sign (#).
quoted_booleans
Booleans mustn't be quoted, since this means they're not nil, and will
thus evaluate to true. These errors are not fixed by Puppet::Tidy since
changing 'false' to true actually changing the meaning of a statement.
Instead, a warning is inserted into the file.
LICENSE
This module is free software, can you redistribute it and/or modify it under the terms of the ISC license. The full license text can be found in this module's LICENSE file.
CREDITS
Thanks to M:tier Ltd. (http://www.mtier.org/) for sponsoring development of this module.
AUTHOR
Jasper Lievisse Adriaanse