puppet-function-updater 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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