puppet-lint 2.3.6 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +238 -87
  3. data/README.md +18 -0
  4. data/lib/puppet-lint.rb +1 -1
  5. data/lib/puppet-lint/data.rb +26 -11
  6. data/lib/puppet-lint/lexer.rb +97 -200
  7. data/lib/puppet-lint/lexer/string_slurper.rb +173 -0
  8. data/lib/puppet-lint/lexer/token.rb +8 -0
  9. data/lib/puppet-lint/optparser.rb +4 -5
  10. data/lib/puppet-lint/plugins/check_classes/parameter_order.rb +12 -1
  11. data/lib/puppet-lint/plugins/check_conditionals/case_without_default.rb +15 -1
  12. data/lib/puppet-lint/plugins/check_documentation/documentation.rb +4 -0
  13. data/lib/puppet-lint/plugins/check_resources/ensure_first_param.rb +5 -2
  14. data/lib/puppet-lint/plugins/check_strings/quoted_booleans.rb +1 -0
  15. data/lib/puppet-lint/plugins/check_strings/variables_not_enclosed.rb +71 -0
  16. data/lib/puppet-lint/plugins/check_whitespace/arrow_alignment.rb +1 -1
  17. data/lib/puppet-lint/tasks/puppet-lint.rb +14 -0
  18. data/lib/puppet-lint/tasks/release_test.rb +3 -1
  19. data/lib/puppet-lint/version.rb +1 -1
  20. data/spec/fixtures/test/manifests/two_warnings.pp +5 -0
  21. data/spec/puppet-lint/bin_spec.rb +47 -6
  22. data/spec/puppet-lint/data_spec.rb +12 -0
  23. data/spec/puppet-lint/lexer/string_slurper_spec.rb +473 -0
  24. data/spec/puppet-lint/lexer_spec.rb +1153 -590
  25. data/spec/puppet-lint/plugins/check_classes/parameter_order_spec.rb +18 -0
  26. data/spec/puppet-lint/plugins/check_classes/variable_scope_spec.rb +15 -1
  27. data/spec/puppet-lint/plugins/check_conditionals/case_without_default_spec.rb +39 -0
  28. data/spec/puppet-lint/plugins/check_documentation/documentation_spec.rb +18 -0
  29. data/spec/puppet-lint/plugins/check_resources/ensure_first_param_spec.rb +16 -0
  30. data/spec/puppet-lint/plugins/check_strings/double_quoted_strings_spec.rb +5 -5
  31. data/spec/puppet-lint/plugins/check_strings/only_variable_string_spec.rb +6 -6
  32. data/spec/puppet-lint/plugins/check_strings/variables_not_enclosed_spec.rb +32 -0
  33. data/spec/puppet-lint/plugins/check_variables/variable_is_lowercase_spec.rb +28 -0
  34. data/spec/spec_helper.rb +7 -5
  35. metadata +14 -17
  36. data/.gitignore +0 -12
  37. data/.rspec +0 -2
  38. data/.rubocop.yml +0 -74
  39. data/.rubocop_todo.yml +0 -89
  40. data/.travis.yml +0 -24
  41. data/Gemfile +0 -40
  42. data/Rakefile +0 -42
  43. data/appveyor.yml +0 -33
  44. data/puppet-lint.gemspec +0 -19
data/.rubocop_todo.yml DELETED
@@ -1,89 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2017-08-28 12:57:58 +1000 using RuboCop version 0.49.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 3
10
- # Configuration parameters: Include.
11
- # Include: **/Gemfile, **/gems.rb
12
- Bundler/DuplicatedGem:
13
- Exclude:
14
- - 'Gemfile'
15
-
16
- # Offense count: 2
17
- # Cop supports --auto-correct.
18
- # Configuration parameters: Include, TreatCommentsAsGroupSeparators.
19
- # Include: **/Gemfile, **/gems.rb
20
- Bundler/OrderedGems:
21
- Exclude:
22
- - 'Gemfile'
23
-
24
- # Offense count: 9
25
- # Configuration parameters: AllowSafeAssignment.
26
- Lint/AssignmentInCondition:
27
- Exclude:
28
- - 'lib/puppet-lint/lexer.rb'
29
- - 'lib/puppet-lint/plugins/check_classes/variable_scope.rb'
30
-
31
- # Offense count: 52
32
- Metrics/AbcSize:
33
- Max: 153
34
-
35
- # Offense count: 121
36
- # Configuration parameters: CountComments, ExcludedMethods.
37
- Metrics/BlockLength:
38
- Max: 1136
39
-
40
- # Offense count: 8
41
- # Configuration parameters: CountBlocks.
42
- Metrics/BlockNesting:
43
- Max: 5
44
-
45
- # Offense count: 2
46
- # Configuration parameters: CountComments.
47
- Metrics/ClassLength:
48
- Max: 383
49
-
50
- # Offense count: 20
51
- Metrics/CyclomaticComplexity:
52
- Max: 26
53
-
54
- # Offense count: 238
55
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
56
- # URISchemes: http, https
57
- Metrics/LineLength:
58
- Max: 223
59
-
60
- # Offense count: 65
61
- # Configuration parameters: CountComments.
62
- Metrics/MethodLength:
63
- Max: 105
64
-
65
- # Offense count: 18
66
- Metrics/PerceivedComplexity:
67
- Max: 25
68
-
69
- # Offense count: 1
70
- # Cop supports --auto-correct.
71
- Performance/RedundantBlockCall:
72
- Exclude:
73
- - 'lib/puppet-lint/tasks/puppet-lint.rb'
74
-
75
- # Offense count: 7
76
- # Configuration parameters: EnforcedStyle, SupportedStyles.
77
- # SupportedStyles: nested, compact
78
- Style/ClassAndModuleChildren:
79
- Exclude:
80
- - 'lib/puppet-lint.rb'
81
- - 'lib/puppet-lint/bin.rb'
82
- - 'lib/puppet-lint/checkplugin.rb'
83
- - 'lib/puppet-lint/checks.rb'
84
- - 'lib/puppet-lint/data.rb'
85
- - 'lib/puppet-lint/optparser.rb'
86
-
87
- # Offense count: 20
88
- Style/MultilineBlockChain:
89
- Enabled: false
data/.travis.yml DELETED
@@ -1,24 +0,0 @@
1
- ---
2
- language: ruby
3
- sudo: false
4
- before_install: gem update --system && gem install bundler
5
- branches:
6
- only:
7
- - master
8
- bundler_args: --without development system_tests
9
- script:
10
- - bundle exec rake $CHECK
11
- env:
12
- - CHECK=ci
13
- rvm:
14
- - 1.8.7
15
- - 1.9.3
16
- - 2.0.0
17
- - 2.1.10
18
- - 2.2.7
19
- - 2.3.4
20
- - 2.4.1
21
- matrix:
22
- include:
23
- - rvm: 2.4.1
24
- env: CHECK=rubocop
data/Gemfile DELETED
@@ -1,40 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :test do
6
- gem 'rake', '~> 10.0'
7
- gem 'rspec-its', '~> 1.0'
8
- gem 'rspec-collection_matchers', '~> 1.0'
9
-
10
- if RUBY_VERSION < '2.0'
11
- # json 2.x requires ruby 2.0. Lock to 1.8
12
- gem 'json', '= 1.8'
13
- # json_pure 2.0.2 requires ruby 2.0, and 2.0.1 requires ruby 1.9. Lock to 1.8.3.
14
- gem 'json_pure', '= 1.8.3'
15
- # addressable 2.4.0 requires ruby 1.9.0. Lock to 2.3.8.
16
- gem 'addressable', '= 2.3.8'
17
- gem 'diff-lcs', '< 1.3'
18
- gem 'rspec', '<= 3.4'
19
- else
20
- gem 'rspec', '~> 3.0'
21
- gem 'json'
22
- end
23
-
24
- if RUBY_VERSION > '1.8'
25
- # requires ruby 1.9+, on 1.8 we'll fall back to the old regex parsing
26
- gem 'rspec-json_expectations', '~> 1.4'
27
- end
28
-
29
- gem 'rubocop', '0.49.1' if RUBY_VERSION > '2.0'
30
- gem 'simplecov', :require => false
31
- end
32
-
33
- group :development do
34
- # For Changelog generation
35
- if RUBY_VERSION > '1.9'
36
- gem 'github_changelog_generator', :require => false if RUBY_VERSION >= '2.2.2'
37
- gem 'github_changelog_generator', '~> 1.13.0', :require => false if RUBY_VERSION < '2.2.2'
38
- gem 'rack', '~> 1.0', :require => false if RUBY_VERSION < '2.2.2'
39
- end
40
- end
data/Rakefile DELETED
@@ -1,42 +0,0 @@
1
- require 'rake'
2
- require 'rspec/core/rake_task'
3
- require 'puppet-lint'
4
- require 'puppet-lint/tasks/release_test'
5
-
6
- task :default => :test
7
-
8
- RSpec::Core::RakeTask.new(:test)
9
-
10
- begin
11
- require 'github_changelog_generator/task'
12
- GitHubChangelogGenerator::RakeTask.new(:changelog) do |config|
13
- version = PuppetLint::VERSION
14
- config.future_release = version.to_s
15
- config.exclude_labels = %w[duplicate question invalid wontfix release-pr documentation]
16
- config.enhancement_labels = %w[feature]
17
- end
18
- rescue LoadError
19
- $stderr.puts 'Changelog generation requires Ruby 2.0 or higher'
20
- end
21
-
22
- begin
23
- require 'rubocop/rake_task'
24
-
25
- RuboCop::RakeTask.new(:rubocop) do |task|
26
- task.options = %w[-D -E]
27
- task.patterns = [
28
- 'lib/**/*.rb',
29
- 'spec/**/*.rb',
30
- 'bin/*',
31
- '*.gemspec',
32
- 'Gemfile',
33
- 'Rakefile',
34
- ]
35
- end
36
- rescue LoadError
37
- $stderr.puts 'Rubocop is not available for this version of Ruby.'
38
- end
39
-
40
- task :ci => [:test, :release_test]
41
-
42
- # vim: syntax=ruby
data/appveyor.yml DELETED
@@ -1,33 +0,0 @@
1
- build: off
2
-
3
- branches:
4
- only:
5
- - master
6
-
7
- # ruby versions under test
8
- environment:
9
- matrix:
10
- - RUBY_VERSION: 193
11
- - RUBY_VERSION: 200
12
- - RUBY_VERSION: 21
13
- - RUBY_VERSION: 22
14
- - RUBY_VERSION: 23-x64
15
- - RUBY_VERSION: 24-x64
16
-
17
- matrix:
18
- allow_failures:
19
- - RUBY_VERSION: 193
20
-
21
- install:
22
- - SET PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
23
- - SET LOG_SPEC_ORDER=true
24
- - bundle install --jobs 4 --retry 2 --without development
25
-
26
- before_test:
27
- - type Gemfile.lock
28
- - ruby -v
29
- - gem -v
30
- - bundle -v
31
-
32
- test_script:
33
- - bundle exec rake ci
data/puppet-lint.gemspec DELETED
@@ -1,19 +0,0 @@
1
- $LOAD_PATH.push(File.expand_path('../lib', __FILE__))
2
- require 'puppet-lint/version'
3
-
4
- Gem::Specification.new do |s|
5
- s.name = 'puppet-lint'
6
- s.version = PuppetLint::VERSION.dup
7
- s.homepage = 'https://github.com/rodjek/puppet-lint/'
8
- s.summary = 'Ensure your Puppet manifests conform with the Puppetlabs style guide'
9
- s.description = 'Checks your Puppet manifests against the Puppetlabs
10
- style guide and alerts you to any discrepancies.'
11
-
12
- s.files = `git ls-files`.split("\n")
13
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
- s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
15
- s.require_paths = ['lib']
16
-
17
- s.authors = ['Tim Sharpe']
18
- s.email = 'tim@sharpe.id.au'
19
- end