puppet-itemize 0.0.4 → 0.0.5
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87413824f9668fcaae315821a7d3348da4b4e702
|
4
|
+
data.tar.gz: 4d2951949779cb082d2c992d9909c384996eaa2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b180f793fb59579779f53670c416a53964ca1014c76ee72ff7722b1598bae643ab86115c191129094b12af7ab47fa2b93561270972a10d2582101460ddce5dad
|
7
|
+
data.tar.gz: 1c639ec0db9e239caa331ad6a560dbd092928d49ae616451f742c0d0c918dc12ff44c3949f4bc7018ac58dc01e590479912a8c0adf7bfb1ba5d1023707d65c93
|
data/CHANGELOG.md
CHANGED
@@ -0,0 +1,51 @@
|
|
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
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'puppet'
|
2
2
|
require 'puppet/parser'
|
3
3
|
require 'puppet/util/logging'
|
4
|
-
|
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 =
|
61
|
+
resource_name = o.type_name.value
|
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,
|
70
|
+
record(:classes, item.value)
|
71
71
|
end
|
72
72
|
else
|
73
|
-
record(:classes,
|
73
|
+
record(:classes, klass.title.value)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
else
|
@@ -92,19 +92,20 @@ class Puppet_X::Binford2k::Itemize::Parser
|
|
92
92
|
case function_name
|
93
93
|
when 'include', 'contain', 'require'
|
94
94
|
o.arguments.each do |klass|
|
95
|
-
record(:classes,
|
95
|
+
record(:classes, klass.value)
|
96
96
|
end
|
97
97
|
|
98
98
|
when 'create_resources'
|
99
99
|
Puppet.warn_once(:dependency, 'create_resources', 'create_resources detected. Please update to use iteration instead.', :default, :default)
|
100
100
|
record(:functions, function_name)
|
101
|
-
record(:types,
|
101
|
+
record(:types, o.arguments.first.value)
|
102
102
|
|
103
103
|
else
|
104
104
|
record(:functions, function_name)
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
+
# lots of edge cases of edge cases here. Monkeypatching seems more reliable
|
108
109
|
def value_of(obj)
|
109
110
|
case obj
|
110
111
|
when Puppet::Pops::Model::ConcatenatedString
|
@@ -114,11 +115,11 @@ class Puppet_X::Binford2k::Itemize::Parser
|
|
114
115
|
Puppet::Pops::Model::LiteralDefault
|
115
116
|
'<??>'
|
116
117
|
when Puppet::Pops::Model::CallMethodExpression
|
117
|
-
obj.functor_expr.right_expr
|
118
|
+
value_of(obj.functor_expr.right_expr)
|
118
119
|
when Puppet::Pops::Model::AccessExpression
|
119
120
|
obj.keys.map {|t| t.value rescue nil }.join
|
120
121
|
when Puppet::Pops::Model::ArithmeticExpression
|
121
|
-
obj.left_expr
|
122
|
+
value_of(obj.left_expr) + obj.operator + value_of(obj.right_expr)
|
122
123
|
when Puppet::Pops::Model::CallNamedFunctionExpression
|
123
124
|
"#{obj.functor_expr.value}(#{obj.arguments.map {|a| a.value rescue nil }.join(',')})"
|
124
125
|
else
|
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.5
|
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-
|
11
|
+
date: 2018-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|
@@ -48,6 +48,7 @@ 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
|
51
52
|
- lib/puppet_x/binford2k/itemize/parser.rb
|
52
53
|
- lib/puppet_x/binford2k/itemize/runner.rb
|
53
54
|
- lib/puppet_x/binford2k/itemize/version.rb
|