puppet 8.5.1-universal-darwin → 8.6.0-universal-darwin

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.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. metadata +2 -2
@@ -11,7 +11,7 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
11
11
  # PUP-6959 mode is explicitly ignored until it can be implemented
12
12
  # Ruby on Windows uses mode for setting file attributes like read-only and
13
13
  # archived, not for setting permissions like POSIX
14
- raise TypeError.new('mode must be specified as an Integer') if mode && !mode.is_a?(Numeric)
14
+ raise TypeError, 'mode must be specified as an Integer' if mode && !mode.is_a?(Numeric)
15
15
 
16
16
  ::File.open(path, options, nil, &block)
17
17
  end
@@ -20,7 +20,7 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
20
20
  # ensure `nil` values behave like underlying File.expand_path
21
21
  string_path = ::File.expand_path(path.nil? ? nil : path_string(path), dir_string)
22
22
  # if no tildes, nothing to expand, no need to call Windows API, return original string
23
- return string_path if !string_path.index('~')
23
+ return string_path unless string_path.index('~')
24
24
 
25
25
  begin
26
26
  # no need to do existence check up front as GetLongPathName implies that check is performed
@@ -28,15 +28,15 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
28
28
  string_path = Puppet::Util::Windows::File.get_long_pathname(string_path)
29
29
  rescue Puppet::Util::Windows::Error => e
30
30
  # preserve original File.expand_path behavior for file / path not found by returning string
31
- raise if (e.code != Puppet::Util::Windows::File::ERROR_FILE_NOT_FOUND &&
32
- e.code != Puppet::Util::Windows::File::ERROR_PATH_NOT_FOUND)
31
+ raise if e.code != Puppet::Util::Windows::File::ERROR_FILE_NOT_FOUND &&
32
+ e.code != Puppet::Util::Windows::File::ERROR_PATH_NOT_FOUND
33
33
  end
34
34
 
35
35
  string_path
36
36
  end
37
37
 
38
38
  def exist?(path)
39
- return Puppet::Util::Windows::File.exist?(path)
39
+ Puppet::Util::Windows::File.exist?(path)
40
40
  end
41
41
 
42
42
  def symlink(path, dest, options = {})
@@ -61,7 +61,7 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
61
61
  end
62
62
 
63
63
  def symlink?(path)
64
- return false if !Puppet.features.manages_symlinks?
64
+ return false unless Puppet.features.manages_symlinks?
65
65
 
66
66
  Puppet::Util::Windows::File.symlink?(path)
67
67
  end
@@ -72,22 +72,30 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
72
72
  end
73
73
 
74
74
  def unlink(*file_names)
75
- if !Puppet.features.manages_symlinks?
75
+ unless Puppet.features.manages_symlinks?
76
76
  return ::File.unlink(*file_names)
77
77
  end
78
78
 
79
79
  file_names.each do |file_name|
80
80
  file_name = file_name.to_s # handle PathName
81
- stat = Puppet::Util::Windows::File.stat(file_name) rescue nil
81
+ stat = begin
82
+ Puppet::Util::Windows::File.stat(file_name)
83
+ rescue
84
+ nil
85
+ end
82
86
 
83
87
  # sigh, Ruby + Windows :(
84
88
  if !stat
85
- ::File.unlink(file_name) rescue Dir.rmdir(file_name)
89
+ begin
90
+ ::File.unlink(file_name)
91
+ rescue
92
+ Dir.rmdir(file_name)
93
+ end
86
94
  elsif stat.ftype == 'directory'
87
95
  if Puppet::Util::Windows::File.symlink?(file_name)
88
96
  Dir.rmdir(file_name)
89
97
  else
90
- raise Errno::EPERM.new(file_name)
98
+ raise Errno::EPERM, file_name
91
99
  end
92
100
  else
93
101
  ::File.unlink(file_name)
@@ -102,7 +110,7 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
102
110
  end
103
111
 
104
112
  def lstat(path)
105
- if !Puppet.features.manages_symlinks?
113
+ unless Puppet.features.manages_symlinks?
106
114
  return Puppet::Util::Windows::File.stat(path)
107
115
  end
108
116
 
@@ -133,14 +141,14 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
133
141
  end
134
142
 
135
143
  current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
136
- current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_sam_compatible_user_name) unless current_sid
144
+ current_sid ||= Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_sam_compatible_user_name)
137
145
 
138
146
  dacl = case mode
139
- when 0644
147
+ when 0o644
140
148
  dacl = secure_dacl(current_sid)
141
149
  dacl.allow(Puppet::Util::Windows::SID::BuiltinUsers, FILE_READ)
142
150
  dacl
143
- when 0660, 0640, 0600, 0440
151
+ when 0o660, 0o640, 0o600, 0o440
144
152
  secure_dacl(current_sid)
145
153
  when nil
146
154
  get_dacl_from_file(path) || secure_dacl(current_sid)
@@ -172,7 +180,7 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
172
180
  when ACCESS_DENIED, SHARING_VIOLATION, LOCK_VIOLATION
173
181
  raise Errno::EACCES.new(path_string(path), e)
174
182
  else
175
- raise SystemCallError.new(e.message)
183
+ raise SystemCallError, e.message
176
184
  end
177
185
  end
178
186
 
@@ -204,12 +212,12 @@ class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
204
212
  end
205
213
 
206
214
  def raise_if_symlinks_unsupported
207
- if !Puppet.features.manages_symlinks?
215
+ unless Puppet.features.manages_symlinks?
208
216
  msg = _("This version of Windows does not support symlinks. Windows Vista / 2008 or higher is required.")
209
- raise Puppet::Util::Windows::Error.new(msg)
217
+ raise Puppet::Util::Windows::Error, msg
210
218
  end
211
219
 
212
- if !Puppet::Util::Windows::Process.process_privilege_symlink?
220
+ unless Puppet::Util::Windows::Process.process_privilege_symlink?
213
221
  Puppet.warning _("The current user does not have the necessary permission to manage symlinks.")
214
222
  end
215
223
  end
@@ -38,12 +38,12 @@ class Puppet::Forge
38
38
 
39
39
  # Return contents of file at the given URI's +uri+.
40
40
  def read_retrieve(uri)
41
- return uri.read
41
+ uri.read
42
42
  end
43
43
 
44
44
  # Return Pathname for repository's cache directory, create it if needed.
45
45
  def path
46
- (self.class.base_path + @repository.cache_key).tap { |o| o.mkpath }
46
+ (self.class.base_path + @repository.cache_key).tap(&:mkpath)
47
47
  end
48
48
 
49
49
  # Return the base Pathname for all the caches.
@@ -13,7 +13,7 @@ module Puppet::Forge::Errors
13
13
  #
14
14
  # @return [String] the multiline version of the error message
15
15
  def multiline
16
- self.message
16
+ message
17
17
  end
18
18
  end
19
19
 
@@ -69,7 +69,7 @@ class Puppet::Forge
69
69
  # repository at +release+ (e.g. "myuser-mymodule").
70
70
  def retrieve(release)
71
71
  path = @host.chomp('/') + release
72
- return cache.retrieve(path)
72
+ cache.retrieve(path)
73
73
  end
74
74
 
75
75
  # Return the URI string for this repository.
@@ -80,7 +80,7 @@ class Puppet::Forge
80
80
  # Return the cache key for this repository, this a hashed string based on
81
81
  # the URI.
82
82
  def cache_key
83
- return @cache_key ||= [
83
+ @cache_key ||= [
84
84
  @host.to_s.gsub(/[^[:alnum:]]+/, '_').sub(/_$/, ''),
85
85
  Digest::SHA1.hexdigest(@host.to_s)
86
86
  ].join('-').freeze
data/lib/puppet/forge.rb CHANGED
@@ -114,7 +114,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
114
114
  uri = decode_uri(response['pagination']['next'])
115
115
  end
116
116
 
117
- return releases
117
+ releases
118
118
  end
119
119
 
120
120
  def make_http_request(*args)
@@ -134,13 +134,11 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
134
134
 
135
135
  if meta['dependencies']
136
136
  dependencies = meta['dependencies'].collect do |dep|
137
- begin
138
- Puppet::ModuleTool::Metadata.new.add_dependency(dep['name'], dep['version_requirement'], dep['repository'])
139
- Puppet::ModuleTool.parse_module_dependency(release, dep)[0..1]
140
- rescue ArgumentError => e
141
- raise ArgumentError, _("Malformed dependency: %{name}.") % { name: dep['name'] } +
142
- ' ' + _("Exception was: %{detail}") % { detail: e }
143
- end
137
+ Puppet::ModuleTool::Metadata.new.add_dependency(dep['name'], dep['version_requirement'], dep['repository'])
138
+ Puppet::ModuleTool.parse_module_dependency(release, dep)[0..1]
139
+ rescue ArgumentError => e
140
+ raise ArgumentError, _("Malformed dependency: %{name}.") % { name: dep['name'] } +
141
+ ' ' + _("Exception was: %{detail}") % { detail: e }
144
142
  end
145
143
  else
146
144
  dependencies = []
@@ -150,7 +148,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
150
148
  end
151
149
 
152
150
  def install(dir)
153
- staging_dir = self.prepare
151
+ staging_dir = prepare
154
152
 
155
153
  module_dir = dir + name[/-(.*)/, 1]
156
154
  module_dir.rmtree if module_dir.exist?
@@ -163,7 +161,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
163
161
 
164
162
  # Return the Pathname object representing the directory where the
165
163
  # module release archive was unpacked the to.
166
- return module_dir
164
+ module_dir
167
165
  ensure
168
166
  staging_dir.rmtree if staging_dir.exist?
169
167
  end
@@ -202,9 +200,7 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
202
200
  end
203
201
 
204
202
  def tmpfile
205
- @file ||= Tempfile.new(name, Puppet::Forge::Cache.base_path).tap do |f|
206
- f.binmode
207
- end
203
+ @file ||= Tempfile.new(name, Puppet::Forge::Cache.base_path).tap(&:binmode)
208
204
  end
209
205
  # rubocop:enable Naming/MemoizedInstanceVariableName
210
206
 
@@ -227,15 +223,13 @@ class Puppet::Forge < SemanticPuppet::Dependency::Source
227
223
  end
228
224
 
229
225
  def unpack(file, destination)
230
- begin
231
- Puppet::ModuleTool::Applications::Unpacker.unpack(file.path, destination)
232
- rescue Puppet::ExecutionFailure => e
233
- raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
234
- end
226
+ Puppet::ModuleTool::Applications::Unpacker.unpack(file.path, destination)
227
+ rescue Puppet::ExecutionFailure => e
228
+ raise RuntimeError, _("Could not extract contents of module archive: %{message}") % { message: e.message }
235
229
  end
236
230
 
237
231
  def deprecated?
238
- @data['module'] && (@data['module']['deprecated_at'] != nil)
232
+ @data['module'] && !@data['module']['deprecated_at'].nil?
239
233
  end
240
234
  end
241
235
 
@@ -53,9 +53,9 @@ Puppet::Functions.create_function(:abs) do
53
53
  # version of this function.
54
54
  #
55
55
  case x
56
- when %r{^-?(?:\d+)(?:\.\d+){1}$}
56
+ when /^-?(?:\d+)(?:\.\d+){1}$/
57
57
  x.to_f.abs
58
- when %r{^-?\d+$}
58
+ when /^-?\d+$/
59
59
  x.to_i.abs
60
60
  else
61
61
  raise(ArgumentError, 'abs(): Requires float or integer to work with - was given non decimal string')
@@ -49,7 +49,7 @@ Puppet::Functions.create_function(:camelcase) do
49
49
  end
50
50
 
51
51
  def on_string(s)
52
- s.split('_').map { |x| x.capitalize }.join('')
52
+ s.split('_').map(&:capitalize).join('')
53
53
  end
54
54
 
55
55
  def on_iterable(a)
@@ -98,7 +98,7 @@ Puppet::Functions.create_function(:compare) do
98
98
  end
99
99
 
100
100
  def on_error(a, b, *ignore_case)
101
- if !ignore_case.empty?
101
+ unless ignore_case.empty?
102
102
  unless a.is_a?(String) && b.is_a?(String)
103
103
  # TRANSLATORS 'compare' is a name
104
104
  return _("compare(): The third argument (ignore case) can only be used when comparing strings")
@@ -115,7 +115,7 @@ Puppet::Functions.create_function(:compare) do
115
115
 
116
116
  if a.class != b.class
117
117
  # TRANSLATORS 'compare' is a name
118
- return _("compare(): Can only compare values of the same type (or for Timestamp/Timespan also against Numeric). Got %{type_a} and %{type_b}") % {
118
+ _("compare(): Can only compare values of the same type (or for Timestamp/Timespan also against Numeric). Got %{type_a} and %{type_b}") % {
119
119
  type_a: type_label(a), type_b: type_label(b)
120
120
  }
121
121
  end
@@ -48,7 +48,7 @@ Puppet::Functions.create_function(:contain, Puppet::Functions::InternalFunction)
48
48
  # This is the same as calling the include function but faster and does not rely on the include
49
49
  # function.
50
50
  (scope.compiler.evaluate_classes(classes, scope, false) || []).each do |resource|
51
- if !scope.catalog.edge?(containing_resource, resource)
51
+ unless scope.catalog.edge?(containing_resource, resource)
52
52
  scope.catalog.add_edge(containing_resource, resource)
53
53
  end
54
54
  end
@@ -101,7 +101,7 @@
101
101
  # @since 3.8.1 type specific requests with future parser
102
102
  # @since 4.0.0
103
103
  #
104
- Puppet::Functions.create_function(:'defined', Puppet::Functions::InternalFunction) do
104
+ Puppet::Functions.create_function(:defined, Puppet::Functions::InternalFunction) do
105
105
  dispatch :is_defined do
106
106
  scope_param
107
107
  required_repeated_param 'Variant[String, Type[CatalogEntry], Type[Type[CatalogEntry]]]', :vals
@@ -112,7 +112,7 @@ Puppet::Functions.create_function(:'defined', Puppet::Functions::InternalFunctio
112
112
  case val
113
113
  when String
114
114
  if val =~ /^\$(.+)$/
115
- scope.exist?($1)
115
+ scope.exist?(Regexp.last_match(1))
116
116
  else
117
117
  case val
118
118
  when ''
@@ -40,7 +40,7 @@ Puppet::Functions.create_function(:dig) do
40
40
  args.reduce(data) do |d, k|
41
41
  return nil if d.nil? || k.nil?
42
42
 
43
- if !(d.is_a?(Array) || d.is_a?(Hash))
43
+ unless d.is_a?(Array) || d.is_a?(Hash)
44
44
  t = Puppet::Pops::Types::TypeCalculator.infer(d)
45
45
  msg = _("The given data does not contain a Collection at %{walked_path}, got '%{type}'") % { walked_path: walked_path, type: t }
46
46
  error_data = Puppet::DataTypes::Error.new(
@@ -47,21 +47,19 @@ Puppet::Functions.create_function(:eyaml_lookup_key) do
47
47
  def load_data_hash(options, context)
48
48
  path = options['path']
49
49
  context.cached_file_data(path) do |content|
50
- begin
51
- data = Puppet::Util::Yaml.safe_load(content, [Symbol], path)
52
- if data.is_a?(Hash)
53
- Puppet::Pops::Lookup::HieraConfig.symkeys_to_string(data)
54
- else
55
- msg = _("%{path}: file does not contain a valid yaml hash") % { path: path }
56
- raise Puppet::DataBinding::LookupError, msg if Puppet[:strict] == :error && data != false
50
+ data = Puppet::Util::Yaml.safe_load(content, [Symbol], path)
51
+ if data.is_a?(Hash)
52
+ Puppet::Pops::Lookup::HieraConfig.symkeys_to_string(data)
53
+ else
54
+ msg = _("%{path}: file does not contain a valid yaml hash") % { path: path }
55
+ raise Puppet::DataBinding::LookupError, msg if Puppet[:strict] == :error && data != false
57
56
 
58
- Puppet.warning(msg)
59
- {}
60
- end
61
- rescue Puppet::Util::Yaml::YamlLoadError => ex
62
- # YamlLoadErrors include the absolute path to the file, so no need to add that
63
- raise Puppet::DataBinding::LookupError, _("Unable to parse %{message}") % { message: ex.message }
57
+ Puppet.warning(msg)
58
+ {}
64
59
  end
60
+ rescue Puppet::Util::Yaml::YamlLoadError => ex
61
+ # YamlLoadErrors include the absolute path to the file, so no need to add that
62
+ raise Puppet::DataBinding::LookupError, _("Unable to parse %{message}") % { message: ex.message }
65
63
  end
66
64
  end
67
65
 
@@ -138,7 +138,7 @@ Puppet::Functions.create_function(:get, Puppet::Functions::InternalFunction) do
138
138
 
139
139
  begin
140
140
  result = call_function('dig', value, *segments)
141
- return result.nil? ? default_value : result
141
+ result.nil? ? default_value : result
142
142
  rescue Puppet::ErrorWithData => e
143
143
  if block_given?
144
144
  yield(e.error_data)
@@ -29,11 +29,9 @@ Puppet::Functions.create_function(:hocon_data) do
29
29
  def hocon_data(options, context)
30
30
  path = options['path']
31
31
  context.cached_file_data(path) do |content|
32
- begin
33
- Hocon.parse(content)
34
- rescue Hocon::ConfigError => ex
35
- raise Puppet::DataBinding::LookupError, _("Unable to parse (%{path}): %{message}") % { path: path, message: ex.message }
36
- end
32
+ Hocon.parse(content)
33
+ rescue Hocon::ConfigError => ex
34
+ raise Puppet::DataBinding::LookupError, _("Unable to parse (%{path}): %{message}") % { path: path, message: ex.message }
37
35
  end
38
36
  end
39
37
 
@@ -4,6 +4,6 @@
4
4
  #
5
5
  Puppet::Functions.create_function(:import) do
6
6
  def import(*args)
7
- raise Puppet::Pops::SemanticError.new(Puppet::Pops::Issues::DISCONTINUED_IMPORT)
7
+ raise Puppet::Pops::SemanticError, Puppet::Pops::Issues::DISCONTINUED_IMPORT
8
8
  end
9
9
  end
@@ -20,12 +20,10 @@ Puppet::Functions.create_function(:json_data) do
20
20
  def json_data(options, context)
21
21
  path = options['path']
22
22
  context.cached_file_data(path) do |content|
23
- begin
24
- Puppet::Util::Json.load(content)
25
- rescue Puppet::Util::Json::ParseError => ex
26
- # Filename not included in message, so we add it here.
27
- raise Puppet::DataBinding::LookupError, "Unable to parse (%{path}): %{message}" % { path: path, message: ex.message }
28
- end
23
+ Puppet::Util::Json.load(content)
24
+ rescue Puppet::Util::Json::ParseError => ex
25
+ # Filename not included in message, so we add it here.
26
+ raise Puppet::DataBinding::LookupError, "Unable to parse (%{path}): %{message}" % { path: path, message: ex.message }
29
27
  end
30
28
  end
31
29
 
@@ -146,7 +146,7 @@ Puppet::Functions.create_function(:max) do
146
146
  assert_arg_count(args)
147
147
 
148
148
  args.max do |a, b|
149
- if a.to_s =~ %r{\A^-?\d+([._eE]\d+)?\z} && b.to_s =~ %r{\A-?\d+([._eE]\d+)?\z}
149
+ if a.to_s =~ /\A^-?\d+([._eE]\d+)?\z/ && b.to_s =~ /\A-?\d+([._eE]\d+)?\z/
150
150
  Puppet.warn_once('deprecations', 'max_function_numeric_coerce_string',
151
151
  _("The max() function's auto conversion of String to Numeric is deprecated - change to convert input before calling, or use lambda"))
152
152
  a.to_f <=> b.to_f
@@ -232,7 +232,7 @@ Puppet::Functions.create_function(:max) do
232
232
  args.max do |a, b|
233
233
  as = a.to_s
234
234
  bs = b.to_s
235
- if as =~ %r{\A^-?\d+([._eE]\d+)?\z} && bs =~ %r{\A-?\d+([._eE]\d+)?\z}
235
+ if as =~ /\A^-?\d+([._eE]\d+)?\z/ && bs =~ /\A-?\d+([._eE]\d+)?\z/
236
236
  Puppet.warn_once('deprecations', 'max_function_numeric_coerce_string',
237
237
  _("The max() function's auto conversion of String to Numeric is deprecated - change to convert input before calling, or use lambda"))
238
238
  a.to_f <=> b.to_f
@@ -145,7 +145,7 @@ Puppet::Functions.create_function(:min) do
145
145
  assert_arg_count(args)
146
146
 
147
147
  args.min do |a, b|
148
- if a.to_s =~ %r{\A^-?\d+([._eE]\d+)?\z} && b.to_s =~ %r{\A-?\d+([._eE]\d+)?\z}
148
+ if a.to_s =~ /\A^-?\d+([._eE]\d+)?\z/ && b.to_s =~ /\A-?\d+([._eE]\d+)?\z/
149
149
  Puppet.warn_once('deprecations', 'min_function_numeric_coerce_string',
150
150
  _("The min() function's auto conversion of String to Numeric is deprecated - change to convert input before calling, or use lambda"))
151
151
  a.to_f <=> b.to_f
@@ -231,7 +231,7 @@ Puppet::Functions.create_function(:min) do
231
231
  args.min do |a, b|
232
232
  as = a.to_s
233
233
  bs = b.to_s
234
- if as =~ %r{\A^-?\d+([._eE]\d+)?\z} && bs =~ %r{\A-?\d+([._eE]\d+)?\z}
234
+ if as =~ /\A^-?\d+([._eE]\d+)?\z/ && bs =~ /\A-?\d+([._eE]\d+)?\z/
235
235
  Puppet.warn_once('deprecations', 'min_function_numeric_coerce_string',
236
236
  _("The min() function's auto conversion of String to Numeric is deprecated - change to convert input before calling, or use lambda"))
237
237
  a.to_f <=> b.to_f
@@ -994,7 +994,7 @@ Puppet::Functions.create_function(:new, Puppet::Functions::InternalFunction) do
994
994
  return args[0] if args.size == 1 && !t.is_a?(Puppet::Pops::Types::PInitType) && t.instance?(args[0])
995
995
 
996
996
  result = assert_type(t, new_function_for_type(t).call(scope, *args))
997
- return block_given? ? yield(result) : result
997
+ block_given? ? yield(result) : result
998
998
  end
999
999
 
1000
1000
  def new_function_for_type(t)
@@ -142,22 +142,18 @@ Puppet::Functions.create_function(:reduce) do
142
142
  def reduce_without_memo(enumerable)
143
143
  enum = Puppet::Pops::Types::Iterable.asserted_iterable(self, enumerable)
144
144
  enum.reduce do |memo, x|
145
- begin
146
- yield(memo, x)
147
- rescue StopIteration
148
- return memo
149
- end
145
+ yield(memo, x)
146
+ rescue StopIteration
147
+ return memo
150
148
  end
151
149
  end
152
150
 
153
151
  def reduce_with_memo(enumerable, given_memo)
154
152
  enum = Puppet::Pops::Types::Iterable.asserted_iterable(self, enumerable)
155
153
  enum.reduce(given_memo) do |memo, x|
156
- begin
157
- yield(memo, x)
158
- rescue StopIteration
159
- return memo
160
- end
154
+ yield(memo, x)
155
+ rescue StopIteration
156
+ return memo
161
157
  end
162
158
  end
163
159
  end
@@ -78,7 +78,7 @@ Puppet::Functions.create_function(:regsubst) do
78
78
  def regsubst_string(target, pattern, replacement, flags = nil, encoding = nil)
79
79
  re_flags = 0
80
80
  operation = :sub
81
- if !flags.nil?
81
+ unless flags.nil?
82
82
  flags.split(//).each do |f|
83
83
  case f
84
84
  when 'G' then operation = :gsub
@@ -92,7 +92,7 @@ Puppet::Functions.create_function(:regsubst) do
92
92
  end
93
93
 
94
94
  def regsubst_regexp(target, pattern, replacement, flags = nil)
95
- pattern = (pattern.pattern || '') if pattern.is_a?(Puppet::Pops::Types::PRegexpType)
95
+ pattern = pattern.pattern || '' if pattern.is_a?(Puppet::Pops::Types::PRegexpType)
96
96
  inner_regsubst(target, pattern, replacement, flags == 'G' ? :gsub : :sub)
97
97
  end
98
98
 
@@ -70,7 +70,7 @@ Puppet::Functions.create_function(:require, Puppet::Functions::InternalFunction)
70
70
  classes.each do |klass|
71
71
  # lookup the class in the scopes
72
72
  klass = (classobj = krt.find_hostclass(klass)) ? classobj.name : nil
73
- raise Puppet::ParseError.new(_("Could not find class %{klass}") % { klass: klass }) unless klass
73
+ raise Puppet::ParseError, _("Could not find class %{klass}") % { klass: klass } unless klass
74
74
 
75
75
  ref = Puppet::Resource.new(:class, klass)
76
76
  resource = scope.resource
@@ -22,21 +22,19 @@ Puppet::Functions.create_function(:yaml_data) do
22
22
  def yaml_data(options, context)
23
23
  path = options['path']
24
24
  context.cached_file_data(path) do |content|
25
- begin
26
- data = Puppet::Util::Yaml.safe_load(content, [Symbol], path)
27
- if data.is_a?(Hash)
28
- Puppet::Pops::Lookup::HieraConfig.symkeys_to_string(data)
29
- else
30
- msg = _("%{path}: file does not contain a valid yaml hash" % { path: path })
31
- raise Puppet::DataBinding::LookupError, msg if Puppet[:strict] == :error && data != false
25
+ data = Puppet::Util::Yaml.safe_load(content, [Symbol], path)
26
+ if data.is_a?(Hash)
27
+ Puppet::Pops::Lookup::HieraConfig.symkeys_to_string(data)
28
+ else
29
+ msg = _("%{path}: file does not contain a valid yaml hash" % { path: path })
30
+ raise Puppet::DataBinding::LookupError, msg if Puppet[:strict] == :error && data != false
32
31
 
33
- Puppet.warning(msg)
34
- {}
35
- end
36
- rescue Puppet::Util::Yaml::YamlLoadError => ex
37
- # YamlLoadErrors include the absolute path to the file, so no need to add that
38
- raise Puppet::DataBinding::LookupError, _("Unable to parse %{message}") % { message: ex.message }
32
+ Puppet.warning(msg)
33
+ {}
39
34
  end
35
+ rescue Puppet::Util::Yaml::YamlLoadError => ex
36
+ # YamlLoadErrors include the absolute path to the file, so no need to add that
37
+ raise Puppet::DataBinding::LookupError, _("Unable to parse %{message}") % { message: ex.message }
40
38
  end
41
39
  end
42
40