puppet-lint-global_resource-check 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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