Skip to content
This repository has been archived by the owner on Nov 2, 2021. It is now read-only.

voxpupuli/puppet-lint-empty_string-check

puppet-lint-empty_string-check

License Test codecov Release RubyGem Version RubyGem Downloads Donated by Camptocamp

A puppet-lint plugin to check for variables assigned to the empty string.

This repository is archived. It was designed to verify that modules for Puppet 3 work on Puppet 4 as well. Vox Pupuli also maintains puppet-lint-params_empty_string-check. That puppet-lint plugin only checks for class parameters with a String datatype and '' as default value.

Installing

From the command line

$ gem install puppet-lint-empty_string-check

In a Gemfile

gem 'puppet-lint-empty_string-check', :require => false

Checks

Variable assigned to the empty string

The empty string is true in the future parser. undef should be used instead for a false value for strings.

What you have done

$foo = ''

What you should have done

$foo = undef

Note: There are valid cases of assigning a variable to the empty string. You should use control comment to disable checks for these.

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')

Transfer Notice

This plugin was originally authored by Camptocamp. The maintainer preferred that Puppet Community take ownership of the module for future improvement and maintenance. Existing pull requests and issues were transferred over, please fork and continue to contribute here instead of Camptocamp.

Previously: https://github.com/camptocamp/puppet-lint-empty_string-check

License

This gem is licensed under the Apache-2 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