puppet-lint-global_resource-check 0.3.1 → 0.3.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77994a51ca8467d8a0845d8ade3d37d4cdc7f538
4
- data.tar.gz: d9bd060093957e2b9d981ff0aa66fa81e1825bfe
3
+ metadata.gz: e3340a27869cec4a76dc1db589d2bd788987bc86
4
+ data.tar.gz: 0023d95f505828fc2eaf8a33c570f60f8cb2f1f2
5
5
  SHA512:
6
- metadata.gz: 2d19e3c5a8a203d07a23c1fb302838a3a3a42c5edbbe89af1fdfd7dad98fe27abc2b5672ddc7969c0837ed2a1e4703a94396caded0b45922082e96c1abb20fa8
7
- data.tar.gz: 11bdec57f50c953c8f6e324425ae9239bfe4c35a5645ade892ff48d646fea1b0d333ef90586e00bf10fcc6ed93767f3defcbd9cd841a5ac08b0767a7ae491f26
6
+ metadata.gz: 4a004b21c5f162e7d0db6b03c44b34870b37a07b75b0b120938231b74e12bd478991442b55b5fe4e2587728b193713625f9c9193764a23814d4d2b592caf8dba
7
+ data.tar.gz: cd9e1fe6442f7cd1cd4d8d66c3eb73eeb549d79e2057c5ae21221d669259703f4a737c0190ceaaeefd6b9416edcc5e51145f8846d1afe3901b8907e9c4fbd7fb
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # puppet-lint global resource check
2
2
 
3
3
  [![Build Status](https://travis-ci.org/ninech/puppet-lint-global_resource-check.svg?branch=master)](https://travis-ci.org/ninech/puppet-lint-global_resource-check)
4
+ [![Gem Version](https://badge.fury.io/rb/puppet-lint-global_resource-check.svg)](https://badge.fury.io/rb/puppet-lint-global_resource-check)
4
5
 
5
6
  ## Installation
6
7
 
@@ -8,13 +9,13 @@ To use this plugin, add the following like to the Gemfile in your Puppet code
8
9
  base and run `bundle install`.
9
10
 
10
11
  ```ruby
11
- gem 'puppet-lint-global_resource-check', '~> '0.3.0'
12
+ gem 'puppet-lint-global_resource-check', '~> 0.3.0'
12
13
  ```
13
14
 
14
15
  For puppet-lint version 1.1
15
16
 
16
17
  ```ruby
17
- gem 'puppet-lint-global_resource-check', '~> '0.2.0'
18
+ gem 'puppet-lint-global_resource-check', '~> 0.2.0'
18
19
  ```
19
20
 
20
21
  ## Usage
@@ -1,47 +1,43 @@
1
1
  PuppetLint.new_check(:global_resource) do
2
2
  def check
3
+ @secure = secure_ranges
3
4
 
5
+ check_for_global_resources
6
+ check_for_global_includes
7
+ end
8
+
9
+ def secure_ranges
4
10
  secure = []
5
11
 
6
12
  class_indexes.each { |c| secure << [c[:start], c[:end]] }
7
13
  defined_type_indexes.each { |d| secure << [d[:start], d[:end]] }
8
14
  node_indexes.each { |n| secure << [n[:start], n[:end]] }
9
15
 
16
+ secure
17
+ end
18
+
19
+ def check_for_global_resources
10
20
  resource_indexes.each do |r|
11
- encap = 0
12
- secure.each do |s|
13
- if s[0] < r[:start] and s[1] > r[:end]
14
- encap = 1
15
- end
16
- end
17
- next if encap == 1
18
-
19
- notify(:error, {
20
- :message => "Resource #{r[:type].value} in global space",
21
- :line => r[:type].line,
22
- :column => r[:type].column,
23
- })
21
+ next if @secure.any? { |s| s[0] < r[:start] && s[1] > r[:end] }
22
+
23
+ notify :error,
24
+ message: "Resource #{r[:type].value} in global space",
25
+ line: r[:type].line,
26
+ column: r[:type].column
24
27
  end
28
+ end
25
29
 
30
+ def check_for_global_includes
26
31
  tokens.each_index do |i|
27
32
  token = tokens[i]
28
- next unless token.type == :NAME and token.value == 'include'
29
-
30
- encap= 0
31
- secure.each do |s|
32
- if s[0] < i and s[1] > i
33
- encap = 1
34
- end
35
- end
36
- next if encap == 1
37
-
38
- notify(:error, {
39
- :message => "include #{token.next_code_token.value} in global space",
40
- :line => token.line,
41
- :column => token.column,
42
- })
43
- end
33
+ next unless token.type == :NAME && token.value == 'include'
44
34
 
45
- end
35
+ next if @secure.any? { |s| s[0] < i && s[1] > i }
46
36
 
37
+ notify :error,
38
+ message: "include #{token.next_code_token.value} in global space",
39
+ line: token.line,
40
+ column: token.column
41
+ end
42
+ end
47
43
  end
@@ -1,15 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'global_resource' do
4
-
5
- before do
6
- # Bugfix/Workaround for https://github.com/rodjek/puppet-lint/pull/569
7
- PuppetLint::Data.instance_variable_set '@node_indexes', nil
8
- end
9
-
10
4
  context 'just a class' do
11
5
  let(:code) { "class test { file { 'file': } }" }
12
-
6
+
13
7
  it 'should not detect any problems' do
14
8
  expect(problems).to have(0).problems
15
9
  end
@@ -32,7 +26,9 @@ describe 'global_resource' do
32
26
  end
33
27
 
34
28
  context 'global file' do
35
- let(:code) { "file { 'file': } define test ($param = undef) { file { 'file': } }" }
29
+ let(:code) do
30
+ "file { 'file': } define test ($param = undef) { file { 'file': } }"
31
+ end
36
32
 
37
33
  it 'should detect a problem' do
38
34
  expect(problems).to have(1).problems
@@ -43,8 +39,7 @@ describe 'global_resource' do
43
39
  let(:code) { "class test { file { 'file': } } \ninclude class" }
44
40
 
45
41
  it 'should detect a problem' do
46
- expect(problems).to have(1).problems
42
+ expect(problems).to have(1).problems
47
43
  end
48
44
  end
49
-
50
45
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,12 @@
1
1
  require 'puppet-lint'
2
+ require 'simplecov'
3
+ require 'simplecov-console'
2
4
 
3
5
  PuppetLint::Plugins.load_spec_helper
6
+
7
+ SimpleCov.formatter = SimpleCov::Formatter::Console
8
+ SimpleCov.start do
9
+ add_filter '/spec'
10
+ add_filter '.bundle'
11
+ add_filter '/vendor'
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-global_resource-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marius Rieder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-02 00:00:00.000000000 Z
11
+ date: 2017-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet-lint
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '2.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-json_expectations
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rake
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,34 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov-console
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
83
125
  description: " Extends puppet-lint to ensure that your manifests have no global
84
126
  resources.\n"
85
127
  email: marius.rieder@nine.ch
@@ -116,5 +158,5 @@ signing_key:
116
158
  specification_version: 4
117
159
  summary: puppet-lint global_resource check
118
160
  test_files:
119
- - spec/puppet-lint/plugins/check_global_resource_spec.rb
120
161
  - spec/spec_helper.rb
162
+ - spec/puppet-lint/plugins/check_global_resource_spec.rb