Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

voxpupuli/puppet-lint-params_empty_string-check

puppet-lint-params_empty_string-check

License Test Release RubyGem Version RubyGem Downloads Donated by Tim Meusel

A puppet-lint plugin to check for parameters assigned to the empty string. There exists also puppet-lint-empty_string-check which does the same, but for all variables within a class.

Installing

From the command line

$ gem install puppet-lint-params_empty_string-check

In a Gemfile

gem 'puppet-lint-params_empty_string-check', require: false

Checks

Parameter assigned to the empty string

According the the Vox Pupuli best practices, a class parameter with the string datatype should default to undef and not '', if it's optional. The recommendations are documented at voxpupuli.org.

What you have done

class foo (
 String $bar = '',
 String[0] $foo = '',
 Variant[String[0], Integer] $baz = '',
) {
 # logic
}

All three of the above variantions aren't recommended.

What you should have done

class foo (
 Optional[String[1]] $bar = undef,
 Optional[String[1]] $foo = undef,
 Optional[String[1]] $baz = undef,
) {
 # logic
}

There are situations where undef doesn't make sense or you don't want a minimal string length of 1. Because of that, this module doesn't implement a autofix method.

Disabling the check

To disable this check, you can add --no-empty_string_assignment-check to your puppet-lint command line.

$ puppet-lint --no-empty_string_assignment-check path/to/file.pp

Alternatively, if you’re calling puppet-lint via the Rake task, you should insert the following line to your Rakefile.

PuppetLint.configuration.send('disable_empty_string_assignment')

You can also disable it inline:

class foo (
 String $baz = '', # lint:ignore:params_empty_string_assignment
) {
 # awesome logic here
}

Transfer Notice

This plugin was originally authored by Tim 'bastelfreak' Meusel. The maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance.

License

This gem is licensed under the AGPL-3 license.

Release information

To make a new release, please do:

  • update the version in the gemspec file
  • Install gems with bundle install --with release --path .vendor
  • generate the changelog with bundle exec rake changelog
  • Check if the new version matches the closed issues/PRs in the changelog
  • Create a PR with it
  • After it got merged, push a tag. GitHub actions will do the actual release to rubygems and GitHub Packages

About

Puppet-lint plugin to check for empty string assignations

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

Contributors 6

Languages

AltStyle によって変換されたページ (->オリジナル) /