puppet-function-updater 0.0.2 → 0.0.3
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +161 -0
- data/bin/puppet_function_updater +4 -0
- data/lib/pfu.rb +4 -1
- data/lib/pfu/generator.rb +3 -0
- data/lib/pfu/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7c8e70b6514414dcd252d6337de80765df70e417173250932fc332b6a2eaac90
|
|
4
|
+
data.tar.gz: e116616d37d9376ff3f4df574df00f75ba3a98ae16b02d1bfd83b0e1bea0a629
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa9bf40727c562d18890b1a722d93276f46f544ba22ff995aaabb7184cb9fde47cb55f175365681f512145658642be906f373bad0d855401709c3cac5bbe857b
|
|
7
|
+
data.tar.gz: 0f77d9209e589364b682906af5f68fa87fb48dba1cc733b968da855aa8756657305b9c4998ff4324ed861c796c7a3a37df16f21c780bb650e36c4c25996a8369
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -20,6 +20,167 @@ $ gem install puppet-function-updater
|
|
|
20
20
|
Run the command `puppet_function_updater` in the root of a Puppet module, then
|
|
21
21
|
inspect all the generated functions for suitability.
|
|
22
22
|
|
|
23
|
+
### Example:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
[~/Projects/puppetlabs-stdlib]$ puppet_function_updater --verbose
|
|
27
|
+
INFO: Creating lib/puppet/functions/stdlib/abs.rb
|
|
28
|
+
INFO: Creating lib/puppet/functions/stdlib/any2array.rb
|
|
29
|
+
INFO: Creating lib/puppet/functions/stdlib/any2bool.rb
|
|
30
|
+
INFO: Creating lib/puppet/functions/stdlib/assert_private.rb
|
|
31
|
+
INFO: Creating lib/puppet/functions/stdlib/base64.rb
|
|
32
|
+
INFO: Creating lib/puppet/functions/stdlib/basename.rb
|
|
33
|
+
INFO: Creating lib/puppet/functions/stdlib/bool2num.rb
|
|
34
|
+
INFO: Creating lib/puppet/functions/stdlib/bool2str.rb
|
|
35
|
+
INFO: Creating lib/puppet/functions/stdlib/camelcase.rb
|
|
36
|
+
INFO: Creating lib/puppet/functions/stdlib/capitalize.rb
|
|
37
|
+
INFO: Creating lib/puppet/functions/stdlib/ceiling.rb
|
|
38
|
+
INFO: Creating lib/puppet/functions/stdlib/chomp.rb
|
|
39
|
+
INFO: Creating lib/puppet/functions/stdlib/chop.rb
|
|
40
|
+
INFO: Creating lib/puppet/functions/stdlib/clamp.rb
|
|
41
|
+
INFO: Creating lib/puppet/functions/stdlib/concat.rb
|
|
42
|
+
INFO: Creating lib/puppet/functions/stdlib/convert_base.rb
|
|
43
|
+
INFO: Creating lib/puppet/functions/stdlib/count.rb
|
|
44
|
+
INFO: Creating lib/puppet/functions/stdlib/deep_merge.rb
|
|
45
|
+
ERROR: The function attempted to load libraries outside the function block.
|
|
46
|
+
WARN: cannot load such file -- puppet/parser/functions (ignored)
|
|
47
|
+
INFO: Creating lib/puppet/functions/stdlib/defined_with_params.rb
|
|
48
|
+
INFO: Creating lib/puppet/functions/stdlib/delete.rb
|
|
49
|
+
INFO: Creating lib/puppet/functions/stdlib/delete_at.rb
|
|
50
|
+
INFO: Creating lib/puppet/functions/stdlib/delete_regex.rb
|
|
51
|
+
INFO: Creating lib/puppet/functions/stdlib/delete_undef_values.rb
|
|
52
|
+
INFO: Creating lib/puppet/functions/stdlib/delete_values.rb
|
|
53
|
+
INFO: Creating lib/puppet/functions/stdlib/deprecation.rb
|
|
54
|
+
INFO: Creating lib/puppet/functions/stdlib/difference.rb
|
|
55
|
+
INFO: Creating lib/puppet/functions/stdlib/dig.rb
|
|
56
|
+
INFO: Creating lib/puppet/functions/stdlib/dig44.rb
|
|
57
|
+
INFO: Creating lib/puppet/functions/stdlib/dirname.rb
|
|
58
|
+
INFO: Creating lib/puppet/functions/stdlib/dos2unix.rb
|
|
59
|
+
INFO: Creating lib/puppet/functions/stdlib/downcase.rb
|
|
60
|
+
INFO: Creating lib/puppet/functions/stdlib/empty.rb
|
|
61
|
+
INFO: Creating lib/puppet/functions/stdlib/enclose_ipv6.rb
|
|
62
|
+
INFO: Creating lib/puppet/functions/stdlib/ensure_packages.rb
|
|
63
|
+
ERROR: The function attempted to load libraries outside the function block.
|
|
64
|
+
WARN: cannot load such file -- puppet/parser/functions (ignored)
|
|
65
|
+
INFO: Creating lib/puppet/functions/stdlib/ensure_resource.rb
|
|
66
|
+
ERROR: The function attempted to load libraries outside the function block.
|
|
67
|
+
WARN: cannot load such file -- puppet/parser/functions (ignored)
|
|
68
|
+
INFO: Creating lib/puppet/functions/stdlib/ensure_resources.rb
|
|
69
|
+
INFO: Creating lib/puppet/functions/stdlib/flatten.rb
|
|
70
|
+
INFO: Creating lib/puppet/functions/stdlib/floor.rb
|
|
71
|
+
INFO: Creating lib/puppet/functions/stdlib/fqdn_rand_string.rb
|
|
72
|
+
INFO: Creating lib/puppet/functions/stdlib/fqdn_rotate.rb
|
|
73
|
+
INFO: Creating lib/puppet/functions/stdlib/fqdn_uuid.rb
|
|
74
|
+
INFO: Creating lib/puppet/functions/stdlib/get_module_path.rb
|
|
75
|
+
ERROR: The function attempted to load libraries outside the function block.
|
|
76
|
+
WARN: cannot load such file -- puppet/parser/functions (ignored)
|
|
77
|
+
INFO: Creating lib/puppet/functions/stdlib/getparam.rb
|
|
78
|
+
INFO: Creating lib/puppet/functions/stdlib/getvar.rb
|
|
79
|
+
INFO: Creating lib/puppet/functions/stdlib/glob.rb
|
|
80
|
+
INFO: Creating lib/puppet/functions/stdlib/grep.rb
|
|
81
|
+
INFO: Creating lib/puppet/functions/stdlib/has_interface_with.rb
|
|
82
|
+
INFO: Creating lib/puppet/functions/stdlib/has_ip_address.rb
|
|
83
|
+
INFO: Creating lib/puppet/functions/stdlib/has_ip_network.rb
|
|
84
|
+
INFO: Creating lib/puppet/functions/stdlib/has_key.rb
|
|
85
|
+
INFO: Creating lib/puppet/functions/stdlib/hash.rb
|
|
86
|
+
INFO: Creating lib/puppet/functions/stdlib/intersection.rb
|
|
87
|
+
INFO: Creating lib/puppet/functions/stdlib/is_absolute_path.rb
|
|
88
|
+
INFO: Creating lib/puppet/functions/stdlib/is_array.rb
|
|
89
|
+
INFO: Creating lib/puppet/functions/stdlib/is_bool.rb
|
|
90
|
+
INFO: Creating lib/puppet/functions/stdlib/is_domain_name.rb
|
|
91
|
+
INFO: Creating lib/puppet/functions/stdlib/is_email_address.rb
|
|
92
|
+
INFO: Creating lib/puppet/functions/stdlib/is_float.rb
|
|
93
|
+
INFO: Creating lib/puppet/functions/stdlib/is_function_available.rb
|
|
94
|
+
INFO: Creating lib/puppet/functions/stdlib/is_hash.rb
|
|
95
|
+
INFO: Creating lib/puppet/functions/stdlib/is_integer.rb
|
|
96
|
+
INFO: Creating lib/puppet/functions/stdlib/is_ip_address.rb
|
|
97
|
+
INFO: Creating lib/puppet/functions/stdlib/is_ipv4_address.rb
|
|
98
|
+
INFO: Creating lib/puppet/functions/stdlib/is_ipv6_address.rb
|
|
99
|
+
INFO: Creating lib/puppet/functions/stdlib/is_mac_address.rb
|
|
100
|
+
INFO: Creating lib/puppet/functions/stdlib/is_numeric.rb
|
|
101
|
+
INFO: Creating lib/puppet/functions/stdlib/is_string.rb
|
|
102
|
+
INFO: Creating lib/puppet/functions/stdlib/join.rb
|
|
103
|
+
INFO: Creating lib/puppet/functions/stdlib/join_keys_to_values.rb
|
|
104
|
+
INFO: Creating lib/puppet/functions/stdlib/keys.rb
|
|
105
|
+
INFO: Creating lib/puppet/functions/stdlib/load_module_metadata.rb
|
|
106
|
+
INFO: Creating lib/puppet/functions/stdlib/loadjson.rb
|
|
107
|
+
INFO: Creating lib/puppet/functions/stdlib/loadyaml.rb
|
|
108
|
+
INFO: Creating lib/puppet/functions/stdlib/lstrip.rb
|
|
109
|
+
INFO: Creating lib/puppet/functions/stdlib/max.rb
|
|
110
|
+
INFO: Creating lib/puppet/functions/stdlib/member.rb
|
|
111
|
+
INFO: Creating lib/puppet/functions/stdlib/merge.rb
|
|
112
|
+
INFO: Creating lib/puppet/functions/stdlib/min.rb
|
|
113
|
+
INFO: Creating lib/puppet/functions/stdlib/num2bool.rb
|
|
114
|
+
INFO: Creating lib/puppet/functions/stdlib/parsejson.rb
|
|
115
|
+
INFO: Creating lib/puppet/functions/stdlib/parseyaml.rb
|
|
116
|
+
INFO: Creating lib/puppet/functions/stdlib/pick.rb
|
|
117
|
+
INFO: Creating lib/puppet/functions/stdlib/pick_default.rb
|
|
118
|
+
INFO: Creating lib/puppet/functions/stdlib/prefix.rb
|
|
119
|
+
INFO: Creating lib/puppet/functions/stdlib/private.rb
|
|
120
|
+
INFO: Creating lib/puppet/functions/stdlib/pry.rb
|
|
121
|
+
INFO: Creating lib/puppet/functions/stdlib/pw_hash.rb
|
|
122
|
+
INFO: Creating lib/puppet/functions/stdlib/range.rb
|
|
123
|
+
INFO: Creating lib/puppet/functions/stdlib/regexpescape.rb
|
|
124
|
+
INFO: Creating lib/puppet/functions/stdlib/reject.rb
|
|
125
|
+
INFO: Creating lib/puppet/functions/stdlib/reverse.rb
|
|
126
|
+
INFO: Creating lib/puppet/functions/stdlib/round.rb
|
|
127
|
+
INFO: Creating lib/puppet/functions/stdlib/rstrip.rb
|
|
128
|
+
INFO: Creating lib/puppet/functions/stdlib/seeded_rand.rb
|
|
129
|
+
INFO: Creating lib/puppet/functions/stdlib/shell_escape.rb
|
|
130
|
+
INFO: Creating lib/puppet/functions/stdlib/shell_join.rb
|
|
131
|
+
INFO: Creating lib/puppet/functions/stdlib/shell_split.rb
|
|
132
|
+
INFO: Creating lib/puppet/functions/stdlib/shuffle.rb
|
|
133
|
+
INFO: Creating lib/puppet/functions/stdlib/size.rb
|
|
134
|
+
INFO: Creating lib/puppet/functions/stdlib/sort.rb
|
|
135
|
+
INFO: Creating lib/puppet/functions/stdlib/squeeze.rb
|
|
136
|
+
INFO: Creating lib/puppet/functions/stdlib/str2bool.rb
|
|
137
|
+
INFO: Creating lib/puppet/functions/stdlib/str2saltedsha512.rb
|
|
138
|
+
INFO: Creating lib/puppet/functions/stdlib/strftime.rb
|
|
139
|
+
INFO: Creating lib/puppet/functions/stdlib/strip.rb
|
|
140
|
+
INFO: Creating lib/puppet/functions/stdlib/suffix.rb
|
|
141
|
+
INFO: Creating lib/puppet/functions/stdlib/swapcase.rb
|
|
142
|
+
INFO: Creating lib/puppet/functions/stdlib/time.rb
|
|
143
|
+
INFO: Creating lib/puppet/functions/stdlib/to_bytes.rb
|
|
144
|
+
INFO: Creating lib/puppet/functions/stdlib/try_get_value.rb
|
|
145
|
+
INFO: Creating lib/puppet/functions/stdlib/type.rb
|
|
146
|
+
INFO: Creating lib/puppet/functions/stdlib/type3x.rb
|
|
147
|
+
INFO: Creating lib/puppet/functions/stdlib/union.rb
|
|
148
|
+
INFO: Creating lib/puppet/functions/stdlib/unique.rb
|
|
149
|
+
INFO: Creating lib/puppet/functions/stdlib/unix2dos.rb
|
|
150
|
+
INFO: Creating lib/puppet/functions/stdlib/upcase.rb
|
|
151
|
+
INFO: Creating lib/puppet/functions/stdlib/uriescape.rb
|
|
152
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_absolute_path.rb
|
|
153
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_array.rb
|
|
154
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_augeas.rb
|
|
155
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_bool.rb
|
|
156
|
+
ERROR: The function attempted to load libraries outside the function block.
|
|
157
|
+
WARN: cannot load such file -- puppet/util/execution (ignored)
|
|
158
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_cmd.rb
|
|
159
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_domain_name.rb
|
|
160
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_email_address.rb
|
|
161
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_hash.rb
|
|
162
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_integer.rb
|
|
163
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_ip_address.rb
|
|
164
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_ipv4_address.rb
|
|
165
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_ipv6_address.rb
|
|
166
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_numeric.rb
|
|
167
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_re.rb
|
|
168
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_slength.rb
|
|
169
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_string.rb
|
|
170
|
+
INFO: Creating lib/puppet/functions/stdlib/validate_x509_rsa_key_pair.rb
|
|
171
|
+
ERROR: Oh crap; the generated function isn't valid Ruby code!
|
|
172
|
+
ERROR: <compiled>:47: dynamic constant assignment
|
|
173
|
+
NUM_ARGS = 2 unless defined? NUM_ARGS
|
|
174
|
+
^
|
|
175
|
+
INFO: Creating lib/puppet/functions/stdlib/values.rb
|
|
176
|
+
INFO: Creating lib/puppet/functions/stdlib/values_at.rb
|
|
177
|
+
INFO: Creating lib/puppet/functions/stdlib/zip.rb
|
|
178
|
+
INFO: Functions generated. Please inspect for suitability and then
|
|
179
|
+
INFO: update any Puppet code with the new function names.
|
|
180
|
+
INFO: See https://puppet.com/docs/puppet/latest/custom_functions_ruby.html
|
|
181
|
+
INFO: for more information about Puppet's modern Ruby function API.
|
|
182
|
+
```
|
|
183
|
+
|
|
23
184
|
|
|
24
185
|
## Limitations
|
|
25
186
|
|
data/bin/puppet_function_updater
CHANGED
|
@@ -30,6 +30,10 @@ mean to port all the legacy functions.
|
|
|
30
30
|
loglevel = Logger::DEBUG
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
+
opts.on('-c', '--clean', 'Show debugging messages') do
|
|
34
|
+
options[:clean] = true
|
|
35
|
+
end
|
|
36
|
+
|
|
33
37
|
opts.on('-n', '--namespace NAMESPACE', 'The namespace for the generated functions to live in') do |arg|
|
|
34
38
|
options[:namespace] = arg
|
|
35
39
|
end
|
data/lib/pfu.rb
CHANGED
|
@@ -6,13 +6,16 @@ class Pfu
|
|
|
6
6
|
def initialize(options)
|
|
7
7
|
@filenames = options[:filenames]
|
|
8
8
|
@namespace = options[:namespace]
|
|
9
|
+
@clean = options[:clean]
|
|
9
10
|
end
|
|
10
11
|
|
|
11
12
|
def refactor!
|
|
12
13
|
@filenames.each do |path|
|
|
13
14
|
next unless data = Pfu::Parser.parse(path)
|
|
14
15
|
data[:namespace] = @namespace
|
|
15
|
-
Pfu::Generator.write(data)
|
|
16
|
+
if Pfu::Generator.write(data)
|
|
17
|
+
FileUtils.rm(path) if @clean
|
|
18
|
+
end
|
|
16
19
|
end
|
|
17
20
|
|
|
18
21
|
$logger.info "Functions generated. Please inspect for suitability and then"
|
data/lib/pfu/generator.rb
CHANGED
|
@@ -24,13 +24,16 @@ class Pfu::Generator
|
|
|
24
24
|
|
|
25
25
|
begin
|
|
26
26
|
# syntax check the code before writing it
|
|
27
|
+
# TODO: validate that it actually creates a puppet function
|
|
27
28
|
RubyVM::InstructionSequence.compile(contents)
|
|
28
29
|
FileUtils.mkdir_p("lib/puppet/functions/#{opts[:namespace]}")
|
|
29
30
|
File.write(newpath, contents)
|
|
31
|
+
return true
|
|
30
32
|
rescue Exception => e
|
|
31
33
|
$logger.error "Oh crap; the generated function isn't valid Ruby code!"
|
|
32
34
|
$logger.error e.message
|
|
33
35
|
$logger.debug e.backtrace.join("\n")
|
|
36
|
+
return false
|
|
34
37
|
end
|
|
35
38
|
|
|
36
39
|
end
|
data/lib/pfu/version.rb
CHANGED