puppet-itemize 0.0.3 → 0.0.4
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 +5 -5
- data/CHANGELOG.md +7 -0
- data/README.md +0 -5
- data/lib/puppet_x/binford2k/itemize/parser.rb +38 -8
- data/lib/puppet_x/binford2k/itemize/version.rb +1 -1
- metadata +3 -4
- data/lib/puppet_x/binford2k/itemize/monkeypatch.rb +0 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7b3c318001bfbfe15c2c0568b90c5828cc043374
|
4
|
+
data.tar.gz: 7b6b404e88698f56acccc6df7e756d145a41344f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47a02d64eb0371acbf7ddc46aa9b69af05dcb2429f1cd02c3bd96e08c3fe2a994b5d757b7bcf522d555792caf201f8e0c1c2fca61a1ad7326c8b3ab3aebbd50a
|
7
|
+
data.tar.gz: 1f4d3499b0a7d29907f9f78d2bc5e7fb4bbda7143b5ee80f7a2e7b7aefeff672c546cd98af63c768bc459ab41b440170f8f34a6c90e4cc917cb1f0af3a8f59fe
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -92,11 +92,6 @@ below in the class list as `apache::mod::<??>`.
|
|
92
92
|
```
|
93
93
|
$ puppet parser itemize ~/Projects/puppetlabs-apache/manifests/
|
94
94
|
Warning: Undeclared module dependancy: portage::makeconf
|
95
|
-
Warning: Undeclared module dependancy: portage::makeconf
|
96
|
-
Warning: Undeclared module dependancy: portage::makeconf
|
97
|
-
Warning: Undeclared module dependancy: portage::makeconf
|
98
|
-
Warning: Undeclared module dependancy: portage::makeconf
|
99
|
-
Warning: Undeclared module dependancy: portage::makeconf
|
100
95
|
Warning: create_resources detected. Please update to use iteration instead.
|
101
96
|
Resource usage analysis:
|
102
97
|
=======================================
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'puppet'
|
2
2
|
require 'puppet/parser'
|
3
3
|
require 'puppet/util/logging'
|
4
|
-
require 'puppet_x/binford2k/itemize/monkeypatch'
|
4
|
+
# require 'puppet_x/binford2k/itemize/monkeypatch'
|
5
5
|
|
6
6
|
class Puppet_X::Binford2k::Itemize::Parser
|
7
7
|
attr_reader :results
|
@@ -58,7 +58,7 @@ class Puppet_X::Binford2k::Itemize::Parser
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def count_ResourceExpression(o)
|
61
|
-
resource_name = o.type_name
|
61
|
+
resource_name = value_of(o.type_name)
|
62
62
|
case resource_name
|
63
63
|
when 'class'
|
64
64
|
# for classes declared as resource-style, we have to traverse back up the
|
@@ -67,10 +67,10 @@ class Puppet_X::Binford2k::Itemize::Parser
|
|
67
67
|
case klass.title
|
68
68
|
when Puppet::Pops::Model::LiteralList
|
69
69
|
klass.title.values.each do |item|
|
70
|
-
record(:classes, item
|
70
|
+
record(:classes, value_of(item))
|
71
71
|
end
|
72
72
|
else
|
73
|
-
record(:classes, klass.title
|
73
|
+
record(:classes, value_of(klass.title))
|
74
74
|
end
|
75
75
|
end
|
76
76
|
else
|
@@ -78,24 +78,54 @@ class Puppet_X::Binford2k::Itemize::Parser
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
# postfix functions
|
82
|
+
def count_CallMethodExpression(o)
|
83
|
+
record_function(o, o.functor_expr.right_expr.value)
|
84
|
+
end
|
85
|
+
|
86
|
+
# prefix functions
|
81
87
|
def count_CallNamedFunctionExpression(o)
|
82
|
-
|
88
|
+
record_function(o, o.functor_expr.value)
|
89
|
+
end
|
90
|
+
|
91
|
+
def record_function(o, function_name)
|
83
92
|
case function_name
|
84
|
-
when 'include'
|
93
|
+
when 'include', 'contain', 'require'
|
85
94
|
o.arguments.each do |klass|
|
86
|
-
record(:classes, klass
|
95
|
+
record(:classes, value_of(klass))
|
87
96
|
end
|
88
97
|
|
89
98
|
when 'create_resources'
|
90
99
|
Puppet.warn_once(:dependency, 'create_resources', 'create_resources detected. Please update to use iteration instead.', :default, :default)
|
91
100
|
record(:functions, function_name)
|
92
|
-
record(:types, o.arguments.first
|
101
|
+
record(:types, value_of(o.arguments.first))
|
93
102
|
|
94
103
|
else
|
95
104
|
record(:functions, function_name)
|
96
105
|
end
|
97
106
|
end
|
98
107
|
|
108
|
+
def value_of(obj)
|
109
|
+
case obj
|
110
|
+
when Puppet::Pops::Model::ConcatenatedString
|
111
|
+
obj.segments.map {|t| t.value rescue nil }.join('<??>')
|
112
|
+
when Puppet::Pops::Model::VariableExpression,
|
113
|
+
Puppet::Pops::Model::CallMethodExpression,
|
114
|
+
Puppet::Pops::Model::LiteralDefault
|
115
|
+
'<??>'
|
116
|
+
when Puppet::Pops::Model::CallMethodExpression
|
117
|
+
obj.functor_expr.right_expr.value
|
118
|
+
when Puppet::Pops::Model::AccessExpression
|
119
|
+
obj.keys.map {|t| t.value rescue nil }.join
|
120
|
+
when Puppet::Pops::Model::ArithmeticExpression
|
121
|
+
obj.left_expr.value + obj.operator + obj.right_expr.value
|
122
|
+
when Puppet::Pops::Model::CallNamedFunctionExpression
|
123
|
+
"#{obj.functor_expr.value}(#{obj.arguments.map {|a| a.value rescue nil }.join(',')})"
|
124
|
+
else
|
125
|
+
obj.value
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
99
129
|
def dump!
|
100
130
|
require 'json'
|
101
131
|
puts JSON.pretty_generate(@results)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-itemize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|
@@ -48,7 +48,6 @@ files:
|
|
48
48
|
- lib/puppet/face/parser/itemize.rb
|
49
49
|
- lib/puppet_x/binford2k/itemize.rb
|
50
50
|
- lib/puppet_x/binford2k/itemize/cli.rb
|
51
|
-
- lib/puppet_x/binford2k/itemize/monkeypatch.rb
|
52
51
|
- lib/puppet_x/binford2k/itemize/parser.rb
|
53
52
|
- lib/puppet_x/binford2k/itemize/runner.rb
|
54
53
|
- lib/puppet_x/binford2k/itemize/version.rb
|
@@ -72,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
71
|
version: '0'
|
73
72
|
requirements: []
|
74
73
|
rubyforge_project:
|
75
|
-
rubygems_version: 2.
|
74
|
+
rubygems_version: 2.5.2.3
|
76
75
|
signing_key:
|
77
76
|
specification_version: 4
|
78
77
|
summary: Count the number of types, classes, functions used in Puppet manifest(s).
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# Update the interpolated string token to return a composed value string so we
|
2
|
-
# don't have to special case its handling. Because this is pre-compilation,
|
3
|
-
# we cannot resolve variables. So just tag w/ a marker
|
4
|
-
class Puppet::Pops::Model::ConcatenatedString
|
5
|
-
def value
|
6
|
-
segments.map {|t| t.value rescue nil }.join('<??>')
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
# when a resource declaration title is just a variable
|
11
|
-
class Puppet::Pops::Model::VariableExpression
|
12
|
-
def value
|
13
|
-
'<??>'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
# when a resource reference is used
|
18
|
-
class Puppet::Pops::Model::AccessExpression
|
19
|
-
def value
|
20
|
-
keys.map {|t| t.value rescue nil }.join
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# when math (like a set operation) is used to generate a list of classes to use.
|
25
|
-
class Puppet::Pops::Model::ArithmeticExpression
|
26
|
-
def value
|
27
|
-
left_expr.value + operator + right_expr.value
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# when a postfix method generates a list of classes to declare
|
32
|
-
class Puppet::Pops::Model::CallMethodExpression
|
33
|
-
def value
|
34
|
-
'<??>'
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
# when a function generates the name of a class to declare
|
39
|
-
class Puppet::Pops::Model::CallNamedFunctionExpression
|
40
|
-
def value
|
41
|
-
"#{functor_expr.value}(#{arguments.map {|a| a.value rescue nil }.join(',')})"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# When someone uses a resource reference to ... declare a class with a default expression
|
46
|
-
# like ... who even does that?
|
47
|
-
class Puppet::Pops::Model::LiteralDefault
|
48
|
-
def value
|
49
|
-
'<??>'
|
50
|
-
end
|
51
|
-
end
|