puppet 8.5.0-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 (543) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -26
  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/literal_evaluator.rb +4 -0
  216. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  217. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  218. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  219. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  220. data/lib/puppet/pops/functions/function.rb +14 -16
  221. data/lib/puppet/pops/issue_reporter.rb +2 -2
  222. data/lib/puppet/pops/label_provider.rb +2 -2
  223. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  224. data/lib/puppet/pops/loader/loader.rb +4 -4
  225. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  226. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  227. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  229. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  230. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  231. data/lib/puppet/pops/loaders.rb +3 -3
  232. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  233. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  234. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  235. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  236. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  237. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  238. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  240. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  241. data/lib/puppet/pops/merge_strategy.rb +6 -6
  242. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  243. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  244. data/lib/puppet/pops/model/factory.rb +4 -5
  245. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  246. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  247. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  248. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  249. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  250. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  251. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  252. data/lib/puppet/pops/parser/locator.rb +4 -4
  253. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  254. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  255. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  256. data/lib/puppet/pops/patterns.rb +12 -12
  257. data/lib/puppet/pops/pcore.rb +1 -1
  258. data/lib/puppet/pops/pn.rb +2 -2
  259. data/lib/puppet/pops/puppet_stack.rb +1 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  261. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  262. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  263. data/lib/puppet/pops/time/timestamp.rb +1 -1
  264. data/lib/puppet/pops/types/class_loader.rb +4 -6
  265. data/lib/puppet/pops/types/iterable.rb +1 -1
  266. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  268. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  269. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  270. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  272. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  273. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  274. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  275. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  276. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  277. data/lib/puppet/pops/types/string_converter.rb +12 -8
  278. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  279. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  280. data/lib/puppet/pops/types/type_factory.rb +7 -3
  281. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  282. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  283. data/lib/puppet/pops/types/types.rb +28 -24
  284. data/lib/puppet/pops/utils.rb +38 -42
  285. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  286. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  287. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  288. data/lib/puppet/pops/validation.rb +4 -4
  289. data/lib/puppet/pops/visitor.rb +2 -2
  290. data/lib/puppet/property/ensure.rb +12 -14
  291. data/lib/puppet/property/keyvalue.rb +4 -4
  292. data/lib/puppet/property/list.rb +4 -4
  293. data/lib/puppet/property/ordered_list.rb +1 -1
  294. data/lib/puppet/property.rb +31 -33
  295. data/lib/puppet/provider/exec.rb +2 -2
  296. data/lib/puppet/provider/file/posix.rb +19 -17
  297. data/lib/puppet/provider/file/windows.rb +13 -19
  298. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  299. data/lib/puppet/provider/group/groupadd.rb +4 -4
  300. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  301. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  302. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  303. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  304. data/lib/puppet/provider/nameservice.rb +8 -8
  305. data/lib/puppet/provider/package/aix.rb +19 -19
  306. data/lib/puppet/provider/package/appdmg.rb +2 -2
  307. data/lib/puppet/provider/package/apple.rb +1 -1
  308. data/lib/puppet/provider/package/apt.rb +18 -18
  309. data/lib/puppet/provider/package/aptitude.rb +1 -3
  310. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  311. data/lib/puppet/provider/package/blastwave.rb +10 -14
  312. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  313. data/lib/puppet/provider/package/dpkg.rb +11 -13
  314. data/lib/puppet/provider/package/fink.rb +14 -14
  315. data/lib/puppet/provider/package/freebsd.rb +1 -1
  316. data/lib/puppet/provider/package/gem.rb +12 -14
  317. data/lib/puppet/provider/package/macports.rb +2 -2
  318. data/lib/puppet/provider/package/nim.rb +10 -10
  319. data/lib/puppet/provider/package/openbsd.rb +22 -22
  320. data/lib/puppet/provider/package/opkg.rb +6 -6
  321. data/lib/puppet/provider/package/pacman.rb +35 -29
  322. data/lib/puppet/provider/package/pip.rb +25 -24
  323. data/lib/puppet/provider/package/pkg.rb +15 -15
  324. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  325. data/lib/puppet/provider/package/pkgin.rb +2 -2
  326. data/lib/puppet/provider/package/pkgng.rb +5 -5
  327. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  328. data/lib/puppet/provider/package/portage.rb +59 -61
  329. data/lib/puppet/provider/package/ports.rb +12 -11
  330. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  331. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  332. data/lib/puppet/provider/package/rpm.rb +26 -26
  333. data/lib/puppet/provider/package/rug.rb +7 -9
  334. data/lib/puppet/provider/package/sun.rb +4 -4
  335. data/lib/puppet/provider/package/up2date.rb +5 -7
  336. data/lib/puppet/provider/package/urpmi.rb +6 -6
  337. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  338. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  339. data/lib/puppet/provider/package/windows/package.rb +2 -2
  340. data/lib/puppet/provider/package/windows.rb +3 -5
  341. data/lib/puppet/provider/package/yum.rb +33 -37
  342. data/lib/puppet/provider/package/zypper.rb +12 -14
  343. data/lib/puppet/provider/package.rb +1 -1
  344. data/lib/puppet/provider/package_targetable.rb +1 -1
  345. data/lib/puppet/provider/parsedfile.rb +9 -9
  346. data/lib/puppet/provider/service/base.rb +16 -21
  347. data/lib/puppet/provider/service/bsd.rb +4 -4
  348. data/lib/puppet/provider/service/daemontools.rb +31 -31
  349. data/lib/puppet/provider/service/debian.rb +6 -6
  350. data/lib/puppet/provider/service/freebsd.rb +36 -36
  351. data/lib/puppet/provider/service/gentoo.rb +6 -6
  352. data/lib/puppet/provider/service/init.rb +19 -19
  353. data/lib/puppet/provider/service/launchd.rb +22 -22
  354. data/lib/puppet/provider/service/openbsd.rb +10 -10
  355. data/lib/puppet/provider/service/openrc.rb +1 -1
  356. data/lib/puppet/provider/service/openwrt.rb +3 -3
  357. data/lib/puppet/provider/service/rcng.rb +3 -3
  358. data/lib/puppet/provider/service/redhat.rb +4 -4
  359. data/lib/puppet/provider/service/runit.rb +6 -6
  360. data/lib/puppet/provider/service/service.rb +5 -7
  361. data/lib/puppet/provider/service/smf.rb +28 -27
  362. data/lib/puppet/provider/service/src.rb +7 -7
  363. data/lib/puppet/provider/service/systemd.rb +31 -37
  364. data/lib/puppet/provider/service/upstart.rb +17 -17
  365. data/lib/puppet/provider/service/windows.rb +7 -7
  366. data/lib/puppet/provider/user/aix.rb +4 -2
  367. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  368. data/lib/puppet/provider/user/hpux.rb +10 -14
  369. data/lib/puppet/provider/user/pw.rb +1 -1
  370. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  371. data/lib/puppet/provider/user/useradd.rb +7 -7
  372. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  373. data/lib/puppet/provider.rb +8 -8
  374. data/lib/puppet/reference/indirection.rb +3 -0
  375. data/lib/puppet/reference/metaparameter.rb +1 -1
  376. data/lib/puppet/reference/providers.rb +3 -3
  377. data/lib/puppet/reference/type.rb +1 -1
  378. data/lib/puppet/relationship.rb +4 -5
  379. data/lib/puppet/reports/http.rb +1 -1
  380. data/lib/puppet/reports/log.rb +2 -2
  381. data/lib/puppet/reports/store.rb +4 -4
  382. data/lib/puppet/reports.rb +2 -2
  383. data/lib/puppet/resource/catalog.rb +16 -16
  384. data/lib/puppet/resource/status.rb +3 -3
  385. data/lib/puppet/resource/type.rb +8 -8
  386. data/lib/puppet/resource/type_collection.rb +1 -1
  387. data/lib/puppet/resource.rb +41 -41
  388. data/lib/puppet/scheduler/scheduler.rb +1 -1
  389. data/lib/puppet/settings/alias_setting.rb +3 -5
  390. data/lib/puppet/settings/base_setting.rb +11 -11
  391. data/lib/puppet/settings/boolean_setting.rb +2 -2
  392. data/lib/puppet/settings/config_file.rb +5 -4
  393. data/lib/puppet/settings/duration_setting.rb +2 -2
  394. data/lib/puppet/settings/environment_conf.rb +3 -3
  395. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  396. data/lib/puppet/settings/file_setting.rb +11 -11
  397. data/lib/puppet/settings/ini_file.rb +3 -3
  398. data/lib/puppet/settings/port_setting.rb +1 -1
  399. data/lib/puppet/settings/priority_setting.rb +2 -2
  400. data/lib/puppet/settings/ttl_setting.rb +2 -2
  401. data/lib/puppet/settings/value_translator.rb +8 -8
  402. data/lib/puppet/settings.rb +65 -70
  403. data/lib/puppet/ssl/base.rb +2 -4
  404. data/lib/puppet/ssl/certificate_request.rb +18 -22
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  406. data/lib/puppet/ssl/oids.rb +2 -2
  407. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  408. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  409. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  410. data/lib/puppet/syntax_checkers/json.rb +3 -3
  411. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  412. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  413. data/lib/puppet/transaction/event.rb +2 -2
  414. data/lib/puppet/transaction/event_manager.rb +5 -5
  415. data/lib/puppet/transaction/persistence.rb +12 -14
  416. data/lib/puppet/transaction/report.rb +4 -4
  417. data/lib/puppet/transaction/resource_harness.rb +2 -2
  418. data/lib/puppet/transaction.rb +14 -18
  419. data/lib/puppet/type/component.rb +3 -3
  420. data/lib/puppet/type/exec.rb +43 -45
  421. data/lib/puppet/type/file/checksum_value.rb +1 -1
  422. data/lib/puppet/type/file/content.rb +6 -6
  423. data/lib/puppet/type/file/ctime.rb +2 -2
  424. data/lib/puppet/type/file/data_sync.rb +3 -3
  425. data/lib/puppet/type/file/ensure.rb +16 -15
  426. data/lib/puppet/type/file/mode.rb +9 -9
  427. data/lib/puppet/type/file/mtime.rb +2 -2
  428. data/lib/puppet/type/file/selcontext.rb +14 -14
  429. data/lib/puppet/type/file/source.rb +19 -21
  430. data/lib/puppet/type/file/target.rb +11 -11
  431. data/lib/puppet/type/file.rb +21 -21
  432. data/lib/puppet/type/filebucket.rb +3 -3
  433. data/lib/puppet/type/group.rb +3 -3
  434. data/lib/puppet/type/notify.rb +2 -2
  435. data/lib/puppet/type/package.rb +4 -4
  436. data/lib/puppet/type/resources.rb +6 -6
  437. data/lib/puppet/type/schedule.rb +9 -9
  438. data/lib/puppet/type/service.rb +6 -8
  439. data/lib/puppet/type/tidy.rb +22 -24
  440. data/lib/puppet/type/user.rb +13 -13
  441. data/lib/puppet/type.rb +76 -88
  442. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  443. data/lib/puppet/util/autoload.rb +2 -2
  444. data/lib/puppet/util/backups.rb +9 -9
  445. data/lib/puppet/util/character_encoding.rb +7 -6
  446. data/lib/puppet/util/checksums.rb +2 -2
  447. data/lib/puppet/util/classgen.rb +8 -8
  448. data/lib/puppet/util/colors.rb +1 -1
  449. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  450. data/lib/puppet/util/command_line/trollop.rb +42 -46
  451. data/lib/puppet/util/command_line.rb +2 -2
  452. data/lib/puppet/util/constant_inflector.rb +2 -2
  453. data/lib/puppet/util/diff.rb +19 -21
  454. data/lib/puppet/util/docs.rb +2 -2
  455. data/lib/puppet/util/errors.rb +9 -9
  456. data/lib/puppet/util/execution.rb +32 -9
  457. data/lib/puppet/util/feature.rb +1 -1
  458. data/lib/puppet/util/fileparsing.rb +12 -16
  459. data/lib/puppet/util/filetype.rb +36 -40
  460. data/lib/puppet/util/inifile.rb +6 -12
  461. data/lib/puppet/util/ldap/connection.rb +1 -1
  462. data/lib/puppet/util/ldap/manager.rb +10 -12
  463. data/lib/puppet/util/lockfile.rb +6 -8
  464. data/lib/puppet/util/log/destination.rb +2 -2
  465. data/lib/puppet/util/log/destinations.rb +4 -4
  466. data/lib/puppet/util/log.rb +12 -9
  467. data/lib/puppet/util/logging.rb +11 -11
  468. data/lib/puppet/util/metric.rb +3 -3
  469. data/lib/puppet/util/monkey_patches.rb +5 -7
  470. data/lib/puppet/util/network_device/config.rb +3 -3
  471. data/lib/puppet/util/package/version/debian.rb +27 -28
  472. data/lib/puppet/util/package/version/pip.rb +5 -5
  473. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  474. data/lib/puppet/util/package/version/rpm.rb +1 -1
  475. data/lib/puppet/util/package.rb +2 -2
  476. data/lib/puppet/util/pidlock.rb +2 -2
  477. data/lib/puppet/util/platform.rb +1 -1
  478. data/lib/puppet/util/plist.rb +8 -10
  479. data/lib/puppet/util/posix.rb +17 -17
  480. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  481. data/lib/puppet/util/provider_features.rb +3 -3
  482. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  483. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  484. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  486. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  487. data/lib/puppet/util/rdoc/parser.rb +1 -1
  488. data/lib/puppet/util/reference.rb +13 -9
  489. data/lib/puppet/util/retry_action.rb +1 -1
  490. data/lib/puppet/util/rpm_compare.rb +17 -18
  491. data/lib/puppet/util/rubygems.rb +1 -1
  492. data/lib/puppet/util/selinux.rb +7 -7
  493. data/lib/puppet/util/storage.rb +10 -12
  494. data/lib/puppet/util/suidmanager.rb +18 -19
  495. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  496. data/lib/puppet/util/tag_set.rb +2 -2
  497. data/lib/puppet/util/tagging.rb +8 -10
  498. data/lib/puppet/util/terminal.rb +4 -4
  499. data/lib/puppet/util/user_attr.rb +7 -7
  500. data/lib/puppet/util/watcher.rb +3 -5
  501. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  502. data/lib/puppet/util/windows/adsi.rb +42 -42
  503. data/lib/puppet/util/windows/daemon.rb +64 -68
  504. data/lib/puppet/util/windows/error.rb +2 -2
  505. data/lib/puppet/util/windows/file.rb +18 -25
  506. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  507. data/lib/puppet/util/windows/principal.rb +8 -8
  508. data/lib/puppet/util/windows/process.rb +16 -28
  509. data/lib/puppet/util/windows/registry.rb +16 -15
  510. data/lib/puppet/util/windows/root_certs.rb +2 -2
  511. data/lib/puppet/util/windows/security.rb +31 -31
  512. data/lib/puppet/util/windows/service.rb +11 -11
  513. data/lib/puppet/util/windows/sid.rb +8 -8
  514. data/lib/puppet/util/windows/user.rb +18 -20
  515. data/lib/puppet/util/yaml.rb +1 -1
  516. data/lib/puppet/util.rb +55 -46
  517. data/lib/puppet/version.rb +2 -2
  518. data/lib/puppet/x509/pem_store.rb +1 -1
  519. data/lib/puppet.rb +3 -3
  520. data/man/man5/puppet.conf.5 +10 -2
  521. data/man/man8/puppet-agent.8 +1 -1
  522. data/man/man8/puppet-apply.8 +1 -1
  523. data/man/man8/puppet-catalog.8 +1 -1
  524. data/man/man8/puppet-config.8 +1 -1
  525. data/man/man8/puppet-describe.8 +1 -1
  526. data/man/man8/puppet-device.8 +1 -1
  527. data/man/man8/puppet-doc.8 +1 -1
  528. data/man/man8/puppet-epp.8 +1 -1
  529. data/man/man8/puppet-facts.8 +1 -1
  530. data/man/man8/puppet-filebucket.8 +1 -1
  531. data/man/man8/puppet-generate.8 +1 -1
  532. data/man/man8/puppet-help.8 +1 -1
  533. data/man/man8/puppet-lookup.8 +1 -1
  534. data/man/man8/puppet-module.8 +1 -1
  535. data/man/man8/puppet-node.8 +1 -1
  536. data/man/man8/puppet-parser.8 +1 -1
  537. data/man/man8/puppet-plugin.8 +1 -1
  538. data/man/man8/puppet-report.8 +1 -1
  539. data/man/man8/puppet-resource.8 +5 -1
  540. data/man/man8/puppet-script.8 +1 -1
  541. data/man/man8/puppet-ssl.8 +1 -1
  542. data/man/man8/puppet.8 +2 -2
  543. metadata +2 -2
@@ -40,23 +40,21 @@ class Puppet::Pops::Functions::Function
40
40
  #
41
41
  # @api public
42
42
  def call(scope, *args, &block)
43
+ result = catch(:return) do
44
+ return self.class.dispatcher.dispatch(self, scope, args, &block)
45
+ end
46
+ result.value
47
+ rescue Puppet::Pops::Evaluator::Next => jumper
43
48
  begin
44
- result = catch(:return) do
45
- return self.class.dispatcher.dispatch(self, scope, args, &block)
46
- end
47
- return result.value
48
- rescue Puppet::Pops::Evaluator::Next => jumper
49
- begin
50
- throw :next, jumper.value
51
- rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
52
- raise Puppet::ParseError.new("next() from context where this is illegal", jumper.file, jumper.line)
53
- end
54
- rescue Puppet::Pops::Evaluator::Return => jumper
55
- begin
56
- throw :return, jumper
57
- rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
58
- raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
59
- end
49
+ throw :next, jumper.value
50
+ rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
51
+ raise Puppet::ParseError.new("next() from context where this is illegal", jumper.file, jumper.line)
52
+ end
53
+ rescue Puppet::Pops::Evaluator::Return => jumper
54
+ begin
55
+ throw :return, jumper
56
+ rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
57
+ raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
60
58
  end
61
59
  end
62
60
 
@@ -48,7 +48,7 @@ class IssueReporter
48
48
  errors = acceptor.errors
49
49
  if errors.size > 0
50
50
  unless emit_errors
51
- raise emit_exception.new(emit_message)
51
+ raise emit_exception, emit_message
52
52
  end
53
53
 
54
54
  formatter = Validation::DiagnosticFormatterPuppetStyle.new
@@ -70,7 +70,7 @@ class IssueReporter
70
70
  emitted += 1
71
71
  break if emitted >= max_errors
72
72
  end
73
- giving_up_message = if (emit_warnings && warnings.size > 0)
73
+ giving_up_message = if emit_warnings && warnings.size > 0
74
74
  _("Language validation logged %{error_count} errors, and %{warning_count} warnings. Giving up") %
75
75
  { error_count: errors.size, warning_count: warnings.size }
76
76
  else
@@ -4,8 +4,8 @@
4
4
  # This simple implementation calls #to_s on the given object, and handles articles 'a/an/the'.
5
5
  #
6
6
  module Puppet::Pops::LabelProvider
7
- VOWELS = %w{a e i o u y}
8
- SKIPPED_CHARACTERS = %w{" '}
7
+ VOWELS = %w[a e i o u y]
8
+ SKIPPED_CHARACTERS = %w[" ']
9
9
  A = "a"
10
10
  AN = "an"
11
11
 
@@ -44,7 +44,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
44
44
  # (Note: superclass caches the result in this loader as it would have to repeat this search for every
45
45
  # lookup otherwise).
46
46
  loaded = @dependency_loaders.reduce(nil) do |previous, loader|
47
- break previous if !previous.nil?
47
+ break previous unless previous.nil?
48
48
 
49
49
  loader.load_typed(typed_name)
50
50
  end
@@ -62,7 +62,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
62
62
  end
63
63
 
64
64
  def to_s
65
- "(DependencyLoader '#{@loader_name}' [" + @dependency_loaders.map { |loader| loader.to_s }.join(' ,') + "])"
65
+ "(DependencyLoader '#{@loader_name}' [" + @dependency_loaders.map(&:to_s).join(' ,') + "])"
66
66
  end
67
67
 
68
68
  private
@@ -81,7 +81,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
81
81
  # (Note: superclass caches the result in this loader as it would have to repeat this search for every
82
82
  # lookup otherwise).
83
83
  @dependency_loaders.reduce(nil) do |previous, loader|
84
- break previous if !previous.nil?
84
+ break previous unless previous.nil?
85
85
 
86
86
  loader.loaded_entry(typed_name, check_dependencies)
87
87
  end
@@ -54,7 +54,7 @@ class Loader
54
54
  # @yieldreturn [Boolean] `true` to keep the entry, `false` to discard it.
55
55
  # @return [Array<TypedName>] the list of names of discovered values
56
56
  def discover(type, error_collector = nil, name_authority = Pcore::RUNTIME_NAME_AUTHORITY, &block)
57
- return EMPTY_ARRAY
57
+ EMPTY_ARRAY
58
58
  end
59
59
 
60
60
  # Produces the value associated with the given name if already loaded, or available for loading
@@ -164,7 +164,7 @@ class Loader
164
164
  # @api private
165
165
  #
166
166
  def set_entry(type, name, value, origin = nil)
167
- raise NotImplementedError.new
167
+ raise NotImplementedError
168
168
  end
169
169
 
170
170
  # Produces a NamedEntry if a value is bound to the given name, or nil if nothing is bound.
@@ -175,7 +175,7 @@ class Loader
175
175
  # @api private
176
176
  #
177
177
  def get_entry(typed_name)
178
- raise NotImplementedError.new
178
+ raise NotImplementedError
179
179
  end
180
180
 
181
181
  # A loader is by default a loader for all kinds of loadables. An implementation may override
@@ -199,7 +199,7 @@ class Loader
199
199
  # at this point to inspect (ie children would print out `loader_name`
200
200
  # rather than their version of to_s if they chose to implement it).
201
201
  def inspect
202
- self.to_s
202
+ to_s
203
203
  end
204
204
 
205
205
  # An entry for one entity loaded by the loader.
@@ -108,11 +108,11 @@ module LoaderPaths
108
108
  end
109
109
 
110
110
  def relative_path
111
- raise NotImplementedError.new
111
+ raise NotImplementedError
112
112
  end
113
113
 
114
114
  def instantiator
115
- raise NotImplementedError.new
115
+ raise NotImplementedError
116
116
  end
117
117
  end
118
118
 
@@ -234,7 +234,7 @@ module LoaderPaths
234
234
  # match more than one path with one name
235
235
  class TaskPath < PuppetSmartPath
236
236
  TASKS_PATH = 'tasks'
237
- FORBIDDEN_EXTENSIONS = %w{.conf .md}.freeze
237
+ FORBIDDEN_EXTENSIONS = %w[.conf .md].freeze
238
238
 
239
239
  def extension
240
240
  EMPTY_STRING
@@ -82,7 +82,7 @@ module ModuleLoaders
82
82
 
83
83
  class EmptyLoader < BaseLoader
84
84
  def find(typed_name)
85
- return nil
85
+ nil
86
86
  end
87
87
 
88
88
  def private_loader
@@ -199,7 +199,7 @@ module ModuleLoaders
199
199
  # Can be defined in module using a global name. No action required
200
200
 
201
201
  when :plan
202
- if !global?
202
+ unless global?
203
203
  # Global name must be the name of the module
204
204
  return nil unless name_parts[0] == module_name
205
205
 
@@ -209,7 +209,7 @@ module ModuleLoaders
209
209
  end
210
210
 
211
211
  when :task
212
- if !global?
212
+ unless global?
213
213
  # Global name must be the name of the module
214
214
  return nil unless name_parts[0] == module_name
215
215
 
@@ -219,7 +219,7 @@ module ModuleLoaders
219
219
  end
220
220
 
221
221
  when :type
222
- if !global?
222
+ unless global?
223
223
  # Global name must be the name of the module
224
224
  unless name_parts[0] == module_name || module_name == NAMESPACE_WILDCARD
225
225
  # Check for ruby defined data type in global namespace before giving up
@@ -297,7 +297,7 @@ module ModuleLoaders
297
297
  # @return [Boolean] true if there is content in the directory appointed by the relative path
298
298
  #
299
299
  def meaningful_to_search?(smart_path)
300
- raise NotImplementedError.new
300
+ raise NotImplementedError
301
301
  end
302
302
 
303
303
  # Abstract method that subclasses override to answer if the given relative path exists, and if so returns that path
@@ -306,7 +306,7 @@ module ModuleLoaders
306
306
  # @return [String, nil] the found path or nil if no such path was found
307
307
  #
308
308
  def existing_path(resolved_path)
309
- raise NotImplementedError.new
309
+ raise NotImplementedError
310
310
  end
311
311
 
312
312
  # Abstract method that subclasses override to return an array of paths that may be associated with the resolved path.
@@ -315,7 +315,7 @@ module ModuleLoaders
315
315
  # @return [Array<String>]
316
316
  #
317
317
  def candidate_paths(resolved_path)
318
- raise NotImplementedError.new
318
+ raise NotImplementedError
319
319
  end
320
320
 
321
321
  # Abstract method that subclasses override to produce the content of the effective path.
@@ -325,7 +325,7 @@ module ModuleLoaders
325
325
  # @return [String] the content of the file
326
326
  #
327
327
  def get_contents(effective_path)
328
- raise NotImplementedError.new
328
+ raise NotImplementedError
329
329
  end
330
330
 
331
331
  # Abstract method that subclasses override to produce a source reference String used to identify the
@@ -335,7 +335,7 @@ module ModuleLoaders
335
335
  # @return [String] a reference to the source file (in file system, zip file, or elsewhere).
336
336
  #
337
337
  def get_source_ref(relative_path)
338
- raise NotImplementedError.new
338
+ raise NotImplementedError
339
339
  end
340
340
 
341
341
  # Answers the question if this loader represents a global component (true for resource type loader and environment loader)
@@ -347,7 +347,7 @@ module ModuleLoaders
347
347
  end
348
348
 
349
349
  # Answers `true` if the loader used by this instance is rooted beneath 'lib'. This is
350
- # typically true for the the system_loader. It will have a path relative to the parent
350
+ # typically true for the system_loader. It will have a path relative to the parent
351
351
  # of 'puppet' instead of the parent of 'lib/puppet' since the 'lib' directory of puppet
352
352
  # is renamed during install. This is significant for loaders that load ruby code.
353
353
  #
@@ -370,7 +370,7 @@ module ModuleLoaders
370
370
  # @param smart_path [SmartPath] the path to find relative paths for
371
371
  # @return [Array<String>] found paths
372
372
  def relative_paths(smart_path)
373
- raise NotImplementedError.new
373
+ raise NotImplementedError
374
374
  end
375
375
 
376
376
  private
@@ -15,7 +15,7 @@ class Puppet::Pops::Loader::RubyDataTypeInstantiator
15
15
  # @return [Puppet::Pops::Types::PAnyType] - an instantiated data type associated with the given loader
16
16
  #
17
17
  def self.create(loader, typed_name, source_ref, ruby_code_string)
18
- unless ruby_code_string.is_a?(String) && ruby_code_string =~ /Puppet\:\:DataTypes\.create_type/
18
+ unless ruby_code_string.is_a?(String) && ruby_code_string =~ /Puppet::DataTypes\.create_type/
19
19
  raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 5x API data type - no create_type call.") % { source_ref: source_ref }
20
20
  end
21
21
 
@@ -15,7 +15,7 @@ class Puppet::Pops::Loader::RubyFunctionInstantiator
15
15
  # @return [Puppet::Pops::Functions.Function] - an instantiated function with global scope closure associated with the given loader
16
16
  #
17
17
  def self.create(loader, typed_name, source_ref, ruby_code_string)
18
- unless ruby_code_string.is_a?(String) && ruby_code_string =~ /Puppet\:\:Functions\.create_function/
18
+ unless ruby_code_string.is_a?(String) && ruby_code_string =~ /Puppet::Functions\.create_function/
19
19
  raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 4x API function - no create_function call.") % { source_ref: source_ref }
20
20
  end
21
21
 
@@ -120,7 +120,11 @@ class Puppet::Pops::Loader::RubyLegacyFunctionInstantiator
120
120
  # Returns an Array; a tuple with method name and line number or "<unknown>" if either is missing, or format is not the expected
121
121
  #
122
122
  def self.extract_name_line(x)
123
- (x.is_a?(Array) ? [x[1], x[2].is_a?(Array) ? x[2][1] : nil] : [nil, nil]).map { |v| v.nil? ? UNKNOWN : v }
123
+ (if x.is_a?(Array)
124
+ [x[1], x[2].is_a?(Array) ? x[2][1] : nil]
125
+ else
126
+ [nil, nil]
127
+ end).map { |v| v.nil? ? UNKNOWN : v }
124
128
  end
125
129
  private_class_method :extract_name_line
126
130
  end
@@ -6,7 +6,7 @@
6
6
  module Puppet::Pops
7
7
  module Loader
8
8
  class StaticLoader < Loader
9
- BUILTIN_TYPE_NAMES = %w{
9
+ BUILTIN_TYPE_NAMES = %w[
10
10
  Component
11
11
  Exec
12
12
  File
@@ -22,9 +22,9 @@ class StaticLoader < Loader
22
22
  Tidy
23
23
  User
24
24
  Whit
25
- }.freeze
25
+ ].freeze
26
26
 
27
- BUILTIN_TYPE_NAMES_LC = Set.new(BUILTIN_TYPE_NAMES.map { |n| n.downcase }).freeze
27
+ BUILTIN_TYPE_NAMES_LC = Set.new(BUILTIN_TYPE_NAMES.map(&:downcase)).freeze
28
28
 
29
29
  BUILTIN_ALIASES = {
30
30
  'Data' => 'Variant[ScalarData,Undef,Hash[String,Data],Array[Data]]',
@@ -28,7 +28,7 @@ class Loaders
28
28
  environment.lock.synchronize do
29
29
  obj = environment.loaders
30
30
  if obj.nil?
31
- obj = self.allocate
31
+ obj = allocate
32
32
  obj.send(:initialize, environment, for_agent, load_from_pcore)
33
33
  end
34
34
  obj
@@ -37,7 +37,7 @@ class Loaders
37
37
 
38
38
  def initialize(environment, for_agent, load_from_pcore = true)
39
39
  # Protect against environment havoc
40
- raise ArgumentError.new(_("Attempt to redefine already initialized loaders for environment")) unless environment.loaders.nil?
40
+ raise ArgumentError, _("Attempt to redefine already initialized loaders for environment") unless environment.loaders.nil?
41
41
 
42
42
  environment.loaders = self
43
43
  @environment = environment
@@ -518,7 +518,7 @@ class Loaders
518
518
  end
519
519
 
520
520
  def all_module_loaders
521
- @all_module_loaders ||= @index.values.map { |md| md.public_loader }
521
+ @all_module_loaders ||= @index.values.map(&:public_loader)
522
522
  end
523
523
 
524
524
  def resolve(module_data)
@@ -92,7 +92,7 @@ class V3BackendFunctionProvider < DataDigFunctionProvider
92
92
  require 'hiera/backend'
93
93
  require "hiera/backend/#{backend_name.downcase}_backend"
94
94
  backend = Hiera::Backend.const_get("#{backend_name.capitalize}_backend").new
95
- return backend.method(:lookup).arity == 4 ? Hiera::Backend::Backend1xWrapper.new(backend) : backend
95
+ backend.method(:lookup).arity == 4 ? Hiera::Backend::Backend1xWrapper.new(backend) : backend
96
96
  rescue LoadError => e
97
97
  lookup_invocation.report_text { "Unable to load backend '#{backend_name}': #{e.message}" }
98
98
  throw :no_such_key
@@ -15,7 +15,7 @@ module Lookup
15
15
 
16
16
  def to_hash
17
17
  hash = {}
18
- hash[:branches] = @branches.map { |b| b.to_hash } unless @branches.nil? || @branches.empty?
18
+ hash[:branches] = @branches.map(&:to_hash) unless @branches.nil? || @branches.empty?
19
19
  hash
20
20
  end
21
21
 
@@ -469,7 +469,7 @@ module Lookup
469
469
  end
470
470
 
471
471
  def push(qualifier_type, qualifier)
472
- node = case (qualifier_type)
472
+ node = case qualifier_type
473
473
  when :global
474
474
  ExplainGlobal.new(@current, qualifier)
475
475
  when :location
@@ -13,7 +13,7 @@ class GlobalDataProvider < ConfiguredDataProvider
13
13
 
14
14
  def unchecked_key_lookup(key, lookup_invocation, merge)
15
15
  config = config(lookup_invocation)
16
- if (config.version == 3)
16
+ if config.version == 3
17
17
  # Hiera version 3 needs access to special scope variables
18
18
  scope = lookup_invocation.scope
19
19
  unless scope.is_a?(Hiera::Scope)
@@ -105,7 +105,7 @@ class HieraConfig
105
105
  end
106
106
 
107
107
  def self.symkeys_to_string(struct)
108
- case (struct)
108
+ case struct
109
109
  when Hash
110
110
  map = {}
111
111
  struct.each_pair { |k, v| map[k.is_a?(Symbol) ? k.to_s : k] = symkeys_to_string(v) }
@@ -212,7 +212,7 @@ class HieraConfig
212
212
  # Raise a LookupError with a RUNTIME_ERROR issue to prevent this being translated to an evaluation error triggered in the pp file
213
213
  # where the lookup started
214
214
  if e.message =~ /^Undefined variable '([^']+)'/
215
- var = $1
215
+ var = ::Regexp.last_match(1)
216
216
  fail(Issues::HIERA_UNDEFINED_VARIABLE, { :name => var }, find_line_matching(/%\{['"]?#{var}['"]?}/))
217
217
  end
218
218
  raise e
@@ -287,7 +287,7 @@ class HieraConfig
287
287
 
288
288
  def create_hiera3_backend_provider(name, backend, parent_data_provider, datadir, paths, hiera3_config)
289
289
  # Custom backend. Hiera 3 must be installed, its logger configured, and it must be made aware of the loaded config
290
- raise Puppet::DataBinding::LookupError, 'Hiera 3 is not installed' if !Puppet.features.hiera?
290
+ raise Puppet::DataBinding::LookupError, 'Hiera 3 is not installed' unless Puppet.features.hiera?
291
291
 
292
292
  if Hiera::Config.instance_variable_defined?(:@config) && (current_config = Hiera::Config.instance_variable_get(:@config)).is_a?(Hash)
293
293
  current_config.each_pair do |key, val|
@@ -308,7 +308,7 @@ class HieraConfig
308
308
  # Replace the class methods 'hiera_interpolate' and 'alias_interpolate' with a method that wires back and performs global
309
309
  # lookups using the lookup framework. This is necessary since the classic Hiera is made aware only of custom backends.
310
310
  class << Hiera::Interpolate
311
- hiera_interpolate = Proc.new do |_data, key, scope, _extra_data, context|
311
+ hiera_interpolate = proc do |_data, key, scope, _extra_data, context|
312
312
  override = context[:order_override]
313
313
  invocation = Puppet::Pops::Lookup::Invocation.current
314
314
  unless override.nil? && invocation.global_only?
@@ -431,8 +431,8 @@ class HieraConfigV3 < HieraConfig
431
431
  end
432
432
 
433
433
  DEFAULT_CONFIG_HASH = {
434
- KEY_BACKENDS => %w(yaml),
435
- KEY_HIERARCHY => %w(nodes/%{::trusted.certname} common),
434
+ KEY_BACKENDS => %w[yaml],
435
+ KEY_HIERARCHY => %w[nodes/%{::trusted.certname} common],
436
436
  KEY_MERGE_BEHAVIOR => 'native'
437
437
  }
438
438
 
@@ -689,7 +689,7 @@ class HieraConfigV5 < HieraConfig
689
689
 
690
690
  options = he[KEY_OPTIONS] || defaults[KEY_OPTIONS]
691
691
  options = options.nil? ? EMPTY_HASH : interpolate(options, lookup_invocation, false)
692
- if (function_kind == KEY_V3_BACKEND)
692
+ if function_kind == KEY_V3_BACKEND
693
693
  v3options = { :datadir => entry_datadir.to_s }
694
694
  options.each_pair { |k, v| v3options[k.to_sym] = v }
695
695
  data_providers[name] =
@@ -700,9 +700,13 @@ class HieraConfigV5 < HieraConfig
700
700
  locations,
701
701
  {
702
702
  :hierarchy =>
703
- locations.nil? ? [] : locations.map do |loc|
704
- path = loc.original_location
705
- path.end_with?(".#{function_name}") ? path[0..-(function_name.length + 2)] : path
703
+ if locations.nil?
704
+ []
705
+ else
706
+ locations.map do |loc|
707
+ path = loc.original_location
708
+ path.end_with?(".#{function_name}") ? path[0..-(function_name.length + 2)] : path
709
+ end
706
710
  end,
707
711
  function_name.to_sym => v3options,
708
712
  :backends => [function_name],
@@ -719,7 +723,7 @@ class HieraConfigV5 < HieraConfig
719
723
  @config.include?(KEY_DEFAULT_HIERARCHY)
720
724
  end
721
725
 
722
- RESERVED_OPTION_KEYS = ['path', 'uri'].freeze
726
+ RESERVED_OPTION_KEYS = %w[path uri].freeze
723
727
 
724
728
  DEFAULT_CONFIG_HASH = {
725
729
  KEY_VERSION => 5,
@@ -48,8 +48,8 @@ module Interpolation
48
48
  def interpolate_string(subject, context, allow_methods)
49
49
  lookup_invocation = context.is_a?(Invocation) ? context : context.invocation
50
50
  lookup_invocation.with(:interpolate, subject) do
51
- subject.gsub(/%\{([^\}]*)\}/) do |match|
52
- expr = $1
51
+ subject.gsub(/%\{([^}]*)\}/) do |match|
52
+ expr = ::Regexp.last_match(1)
53
53
  # Leading and trailing spaces inside an interpolation expression are insignificant
54
54
  expr.strip!
55
55
  value = nil
@@ -144,7 +144,7 @@ module Interpolation
144
144
  end
145
145
 
146
146
  def get_method_and_data(data, allow_methods)
147
- match = data.match(/^(\w+)\((?:["]([^"]+)["]|[']([^']+)['])\)$/)
147
+ match = data.match(/^(\w+)\((?:"([^"]+)"|'([^']+)')\)$/)
148
148
  if match
149
149
  fail(Issues::HIERA_INTERPOLATION_METHOD_SYNTAX_NOT_ALLOWED) unless allow_methods
150
150
 
@@ -9,7 +9,7 @@ class Puppet::Pops::Lookup::KeyRecorder
9
9
 
10
10
  # rubocop:disable Naming/MemoizedInstanceVariableName
11
11
  def self.singleton
12
- @null_recorder ||= self.new
12
+ @null_recorder ||= new
13
13
  end
14
14
  # rubocop:enable Naming/MemoizedInstanceVariableName
15
15
 
@@ -43,7 +43,7 @@ module Lookup
43
43
  def expand_globs(datadir, declared_globs, lookup_invocation)
44
44
  declared_globs.map do |declared_glob|
45
45
  glob = datadir + interpolate(declared_glob, lookup_invocation, false)
46
- Pathname.glob(glob).reject { |path| path.directory? }.map { |path| ResolvedLocation.new(glob.to_s, path, true) }
46
+ Pathname.glob(glob).reject(&:directory?).map { |path| ResolvedLocation.new(glob.to_s, path, true) }
47
47
  end.flatten
48
48
  end
49
49
 
@@ -297,18 +297,18 @@ class LookupAdapter < DataAdapter
297
297
 
298
298
  def validate_lookup_options(options, module_name)
299
299
  return nil if options.nil?
300
- raise Puppet::DataBinding::LookupError.new(_("value of %{opts} must be a hash") % { opts: LOOKUP_OPTIONS }) unless options.is_a?(Hash)
300
+ raise Puppet::DataBinding::LookupError, _("value of %{opts} must be a hash") % { opts: LOOKUP_OPTIONS } unless options.is_a?(Hash)
301
301
  return options if module_name.nil?
302
302
 
303
303
  pfx = "#{module_name}::"
304
304
  options.each_pair do |key, _value|
305
305
  if key.start_with?(LOOKUP_OPTIONS_PATTERN_START)
306
306
  unless key[1..pfx.length] == pfx
307
- raise Puppet::DataBinding::LookupError.new(_("all %{opts} patterns must match a key starting with module name '%{module_name}'") % { opts: LOOKUP_OPTIONS, module_name: module_name })
307
+ raise Puppet::DataBinding::LookupError, _("all %{opts} patterns must match a key starting with module name '%{module_name}'") % { opts: LOOKUP_OPTIONS, module_name: module_name }
308
308
  end
309
309
  else
310
310
  unless key.start_with?(pfx)
311
- raise Puppet::DataBinding::LookupError.new(_("all %{opts} keys must start with module name '%{module_name}'") % { opts: LOOKUP_OPTIONS, module_name: module_name })
311
+ raise Puppet::DataBinding::LookupError, _("all %{opts} keys must start with module name '%{module_name}'") % { opts: LOOKUP_OPTIONS, module_name: module_name }
312
312
  end
313
313
  end
314
314
  end
@@ -373,7 +373,7 @@ class LookupAdapter < DataAdapter
373
373
 
374
374
  # Retrieve and cache the global lookup options
375
375
  def global_lookup_options(lookup_invocation, merge_strategy)
376
- if !instance_variable_defined?(:@global_lookup_options)
376
+ unless instance_variable_defined?(:@global_lookup_options)
377
377
  @global_lookup_options = nil
378
378
  catch(:no_such_key) { @global_lookup_options = validate_lookup_options(lookup_global(LookupKey::LOOKUP_OPTIONS, lookup_invocation, merge_strategy), nil) }
379
379
  end
@@ -383,7 +383,7 @@ class LookupAdapter < DataAdapter
383
383
  # Retrieve and cache lookup options specific to the environment of the compiler that this adapter is attached to (i.e. a merge
384
384
  # of global and environment lookup options).
385
385
  def env_lookup_options(lookup_invocation, merge_strategy)
386
- if !instance_variable_defined?(:@env_lookup_options)
386
+ unless instance_variable_defined?(:@env_lookup_options)
387
387
  global_options = global_lookup_options(lookup_invocation, merge_strategy)
388
388
  @env_only_lookup_options = nil
389
389
  catch(:no_such_key) { @env_only_lookup_options = validate_lookup_options(lookup_in_environment(LookupKey::LOOKUP_OPTIONS, lookup_invocation, merge_strategy), nil) }
@@ -411,7 +411,7 @@ class LookupAdapter < DataAdapter
411
411
  def module_provider(lookup_invocation, module_name)
412
412
  # Test if the key is present for the given module_name. It might be there even if the
413
413
  # value is nil (which indicates that no module provider is configured for the given name)
414
- unless self.include?(module_name)
414
+ unless include?(module_name)
415
415
  self[module_name] = initialize_module_provider(lookup_invocation, module_name)
416
416
  end
417
417
  self[module_name]
@@ -514,7 +514,7 @@ class LookupAdapter < DataAdapter
514
514
  ep.config = HieraConfigV5.v4_function_config(env_path, 'environment::data', ep)
515
515
  ep
516
516
  else
517
- raise Puppet::Error.new(_("Environment '%{env}', cannot find environment_data_provider '%{provider}'") % { env: environment.name, provider: provider_name })
517
+ raise Puppet::Error, _("Environment '%{env}', cannot find environment_data_provider '%{provider}'") % { env: environment.name, provider: provider_name }
518
518
  end
519
519
  end
520
520
  end
@@ -3,7 +3,7 @@
3
3
  module Puppet::Pops
4
4
  module Lookup
5
5
  module SubLookup
6
- SPECIAL = /['"\.]/
6
+ SPECIAL = /['".]/
7
7
 
8
8
  # Split key into segments. A segment may be a quoted string (both single and double quotes can
9
9
  # be used) and the segment separator is the '.' character. Whitespace will be trimmed off on
@@ -208,7 +208,7 @@ module Puppet::Pops
208
208
  # Simple strategy that returns the first value found. It never merges any values.
209
209
  #
210
210
  class FirstFoundStrategy < MergeStrategy
211
- INSTANCE = self.new(EMPTY_HASH)
211
+ INSTANCE = new(EMPTY_HASH)
212
212
 
213
213
  def self.key
214
214
  :first
@@ -238,7 +238,7 @@ module Puppet::Pops
238
238
 
239
239
  # Same as {FirstFoundStrategy} but used when no strategy has been explicitly given
240
240
  class DefaultMergeStrategy < FirstFoundStrategy
241
- INSTANCE = self.new(EMPTY_HASH)
241
+ INSTANCE = new(EMPTY_HASH)
242
242
 
243
243
  def self.key
244
244
  :default
@@ -251,7 +251,7 @@ module Puppet::Pops
251
251
  # will be those of e1
252
252
  #
253
253
  class HashMergeStrategy < MergeStrategy
254
- INSTANCE = self.new(EMPTY_HASH)
254
+ INSTANCE = new(EMPTY_HASH)
255
255
 
256
256
  def self.key
257
257
  :hash
@@ -281,7 +281,7 @@ module Puppet::Pops
281
281
  # first contributor of elements and e2 the second.
282
282
  #
283
283
  class UniqueMergeStrategy < MergeStrategy
284
- INSTANCE = self.new(EMPTY_HASH)
284
+ INSTANCE = new(EMPTY_HASH)
285
285
 
286
286
  def self.key
287
287
  :unique
@@ -363,7 +363,7 @@ module Puppet::Pops
363
363
  # Results: {:x => [{:y => 1, :z => 2}]}
364
364
  #
365
365
  class DeepMergeStrategy < MergeStrategy
366
- INSTANCE = self.new(EMPTY_HASH)
366
+ INSTANCE = new(EMPTY_HASH)
367
367
 
368
368
  def self.key
369
369
  :deep
@@ -432,7 +432,7 @@ module Puppet::Pops
432
432
  # Same as {UnconstrainedDeepMergeStrategy} but with reverse priority of merged elements.
433
433
  # (needed for backward compatibility with Hiera v3)
434
434
  class ReverseDeepMergeStrategy < UnconstrainedDeepMergeStrategy
435
- INSTANCE = self.new(EMPTY_HASH)
435
+ INSTANCE = new(EMPTY_HASH)
436
436
 
437
437
  def self.key
438
438
  :reverse_deep
@@ -9,7 +9,7 @@ class Puppet::Pops::Migration::MigrationChecker
9
9
 
10
10
  # rubocop:disable Naming/MemoizedInstanceVariableName
11
11
  def self.singleton
12
- @null_checker ||= self.new
12
+ @null_checker ||= new
13
13
  end
14
14
  # rubocop:enable Naming/MemoizedInstanceVariableName
15
15