puppet 8.5.1 → 8.6.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -93,7 +93,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
93
93
  else
94
94
  a = [nil, nil]
95
95
  end
96
- return a
96
+ a
97
97
  end
98
98
 
99
99
  def add_resource_before(other, *resources)
@@ -184,7 +184,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
184
184
  def alias(resource, key)
185
185
  ref = resource.ref
186
186
  ref =~ /^(.+)\[/
187
- class_name = $1 || resource.class.name
187
+ class_name = ::Regexp.last_match(1) || resource.class.name
188
188
 
189
189
  newref = [class_name, key].flatten
190
190
 
@@ -272,7 +272,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
272
272
  def clear(remove_resources = true)
273
273
  super()
274
274
  # We have to do this so that the resources clean themselves up.
275
- @resource_table.values.each { |resource| resource.remove } if remove_resources
275
+ @resource_table.values.each(&:remove) if remove_resources
276
276
  @resource_table.clear
277
277
  @resources = []
278
278
 
@@ -304,7 +304,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
304
304
  def finalize
305
305
  make_default_resources
306
306
 
307
- @resource_table.values.each { |resource| resource.finish }
307
+ @resource_table.values.each(&:finish)
308
308
 
309
309
  write_graph(:resources)
310
310
  end
@@ -467,10 +467,10 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
467
467
  end
468
468
 
469
469
  def to_data_hash
470
- metadata_hash = metadata.transform_values { |v| v.to_data_hash; }
470
+ metadata_hash = metadata.transform_values(&:to_data_hash)
471
471
  recursive_metadata_hash = recursive_metadata.transform_values do |source_to_meta_hash|
472
472
  source_to_meta_hash.transform_values do |metas|
473
- metas.map { |meta| meta.to_data_hash }
473
+ metas.map(&:to_data_hash)
474
474
  end
475
475
  end
476
476
 
@@ -483,7 +483,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
483
483
  'catalog_format' => catalog_format,
484
484
  'environment' => environment.to_s,
485
485
  'resources' => @resources.map { |v| @resource_table[v].to_data_hash },
486
- 'edges' => edges.map { |e| e.to_data_hash },
486
+ 'edges' => edges.map(&:to_data_hash),
487
487
  'classes' => classes,
488
488
  }.merge(metadata_hash.empty? ?
489
489
  {} : { 'metadata' => metadata_hash }).merge(recursive_metadata_hash.empty? ?
@@ -539,7 +539,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
539
539
  to_print = resources.filter_map do |resource|
540
540
  next unless resource.managed?
541
541
 
542
- "#{resource.ref.downcase}"
542
+ resource.ref.downcase.to_s
543
543
  end
544
544
  f.puts to_print.join("\n")
545
545
  end
@@ -590,14 +590,14 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
590
590
  # This pretty much just converts all of the resources from one class to another, using
591
591
  # a conversion method.
592
592
  def to_catalog(convert)
593
- result = self.class.new(self.name, self.environment_instance)
593
+ result = self.class.new(name, environment_instance)
594
594
 
595
- result.version = self.version
596
- result.code_id = self.code_id
597
- result.catalog_uuid = self.catalog_uuid
598
- result.catalog_format = self.catalog_format
599
- result.metadata = self.metadata
600
- result.recursive_metadata = self.recursive_metadata
595
+ result.version = version
596
+ result.code_id = code_id
597
+ result.catalog_uuid = catalog_uuid
598
+ result.catalog_format = catalog_format
599
+ result.metadata = metadata
600
+ result.recursive_metadata = recursive_metadata
601
601
 
602
602
  map = {}
603
603
  resources.each do |resource|
@@ -643,7 +643,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
643
643
 
644
644
  map.clear
645
645
 
646
- result.add_class(*self.classes)
646
+ result.add_class(*classes)
647
647
  result.merge_tags_from(self)
648
648
 
649
649
  result
@@ -102,7 +102,7 @@ module Puppet
102
102
  end
103
103
 
104
104
  def self.from_data_hash(data)
105
- obj = self.allocate
105
+ obj = allocate
106
106
  obj.initialize_from_hash(data)
107
107
  obj
108
108
  end
@@ -216,13 +216,13 @@ module Puppet
216
216
  'tags' => @tags.to_a,
217
217
  'time' => @time.iso8601(9),
218
218
  'failed' => @failed,
219
- 'failed_to_restart' => self.failed_to_restart?,
219
+ 'failed_to_restart' => failed_to_restart?,
220
220
  'changed' => @changed,
221
221
  'out_of_sync' => @out_of_sync,
222
222
  'skipped' => @skipped,
223
223
  'change_count' => @change_count,
224
224
  'out_of_sync_count' => @out_of_sync_count,
225
- 'events' => @events.map { |event| event.to_data_hash },
225
+ 'events' => @events.map(&:to_data_hash),
226
226
  'corrective_change' => @corrective_change,
227
227
  }
228
228
  end
@@ -47,7 +47,7 @@ class Puppet::Resource::Type
47
47
  attr_reader :type
48
48
 
49
49
  RESOURCE_KINDS.each do |t|
50
- define_method("#{t}?") { self.type == t }
50
+ define_method("#{t}?") { type == t }
51
51
  end
52
52
 
53
53
  # Are we a child of the passed class? Do a recursive search up our
@@ -56,7 +56,7 @@ class Puppet::Resource::Type
56
56
  return true if override
57
57
  return false unless parent
58
58
 
59
- return(klass == parent_type ? true : parent_type.child_of?(klass))
59
+ (klass == parent_type ? true : parent_type.child_of?(klass))
60
60
  end
61
61
 
62
62
  # Now evaluate the code associated with this class or definition.
@@ -140,7 +140,7 @@ class Puppet::Resource::Type
140
140
  # This might just be an empty, stub class.
141
141
  return unless other.code
142
142
 
143
- unless self.code
143
+ unless code
144
144
  self.code = other.code
145
145
  return
146
146
  end
@@ -189,7 +189,7 @@ class Puppet::Resource::Type
189
189
  parent_type(scope).ensure_in_catalog(scope)
190
190
  end
191
191
 
192
- if ['Class', 'Node'].include? resource.type
192
+ if %w[Class Node].include? resource.type
193
193
  scope.catalog.merge_tags_from(resource)
194
194
  end
195
195
  end
@@ -237,7 +237,7 @@ class Puppet::Resource::Type
237
237
  scope[TITLE] = resource.title
238
238
  scope[NAME] = resource.name
239
239
  end
240
- scope.class_set(self.name, scope) if hostclass? || node?
240
+ scope.class_set(name, scope) if hostclass? || node?
241
241
 
242
242
  param_hash = scope.with_parameter_scope(resource.to_s, arguments.keys) do |param_scope|
243
243
  # Assign directly to the parameter scope to avoid scope parameter validation at this point. It
@@ -376,7 +376,7 @@ class Puppet::Resource::Type
376
376
  ary = fullname.split(DOUBLE_COLON)
377
377
  n = ary.pop || ""
378
378
  ns = ary.join(DOUBLE_COLON)
379
- return ns, n
379
+ [ns, n]
380
380
  end
381
381
 
382
382
  def parent_scope(scope, klass)
@@ -401,9 +401,9 @@ class Puppet::Resource::Type
401
401
  return unless Puppet::Type.metaparamclass(param)
402
402
 
403
403
  if default
404
- warnonce _("%{param} is a metaparam; this value will inherit to all contained resources in the %{name} definition") % { param: param, name: self.name }
404
+ warnonce _("%{param} is a metaparam; this value will inherit to all contained resources in the %{name} definition") % { param: param, name: name }
405
405
  else
406
- raise Puppet::ParseError, _("%{param} is a metaparameter; please choose another parameter name in the %{name} definition") % { param: param, name: self.name }
406
+ raise Puppet::ParseError, _("%{param} is a metaparameter; please choose another parameter name in the %{name} definition") % { param: param, name: name }
407
407
  end
408
408
  end
409
409
 
@@ -168,7 +168,7 @@ class Puppet::Resource::TypeCollection
168
168
  end
169
169
 
170
170
  def version
171
- if !defined?(@version)
171
+ unless defined?(@version)
172
172
  if environment.config_version.nil? || environment.config_version == ""
173
173
  @version = Time.now.to_i
174
174
  else
@@ -44,7 +44,7 @@ class Puppet::Resource
44
44
  VALUE_KEY = 'value'
45
45
 
46
46
  def self.from_data_hash(data)
47
- resource = self.allocate
47
+ resource = allocate
48
48
  resource.initialize_from_hash(data)
49
49
  resource
50
50
  end
@@ -116,7 +116,7 @@ class Puppet::Resource
116
116
  converter = stringify ? Puppet::Pops::Serialization::ToStringifiedConverter.new : nil
117
117
 
118
118
  params = {}
119
- self.to_hash.each_pair do |param, value|
119
+ to_hash.each_pair do |param, value|
120
120
  # Don't duplicate the title as the namevar
121
121
  unless param == namevar && value == title
122
122
  if stringify
@@ -162,12 +162,12 @@ class Puppet::Resource
162
162
  end
163
163
 
164
164
  def yaml_property_munge(x)
165
- self.value.to_json_data(x)
165
+ value.to_json_data(x)
166
166
  end
167
167
 
168
168
  # Proxy these methods to the parameters hash. It's likely they'll
169
169
  # be overridden at some point, but this works for now.
170
- %w{has_key? keys length delete empty? <<}.each do |method|
170
+ %w[has_key? keys length delete empty? <<].each do |method|
171
171
  define_method(method) do |*args|
172
172
  parameters.send(method, *args)
173
173
  end
@@ -187,7 +187,7 @@ class Puppet::Resource
187
187
  end
188
188
 
189
189
  def ==(other)
190
- return false unless other.respond_to?(:title) and self.type == other.type and self.title == other.title
190
+ return false unless other.respond_to?(:title) and type == other.type and title == other.title
191
191
 
192
192
  return false unless to_hash == other.to_hash
193
193
 
@@ -227,9 +227,9 @@ class Puppet::Resource
227
227
  super || parameters.keys.include?(parameter_name(parameter))
228
228
  end
229
229
 
230
- %w{exported virtual strict}.each do |m|
230
+ %w[exported virtual strict].each do |m|
231
231
  define_method(m + "?") do
232
- self.send(m)
232
+ send(m)
233
233
  end
234
234
  end
235
235
 
@@ -275,7 +275,7 @@ class Puppet::Resource
275
275
  self.kind = src.kind
276
276
  self.exported = src.exported
277
277
  self.virtual = src.virtual
278
- self.set_tags(src)
278
+ set_tags(src)
279
279
  self.environment = src.environment
280
280
  @rstype = src.resource_type
281
281
  @type = src.type
@@ -343,7 +343,7 @@ class Puppet::Resource
343
343
 
344
344
  self.kind = self.class.to_kind(rt) unless kind
345
345
  if strict? && rt.nil?
346
- if self.class?
346
+ if class?
347
347
  raise ArgumentError, _("Could not find declared class %{title}") % { title: title }
348
348
  else
349
349
  raise ArgumentError, _("Invalid resource type %{type}") % { type: type }
@@ -388,7 +388,7 @@ class Puppet::Resource
388
388
  when TYPE_NODE; environment.known_resource_types.node(title)
389
389
  else
390
390
  result = Puppet::Type.type(type)
391
- if !result
391
+ unless result
392
392
  krt = environment.known_resource_types
393
393
  result = krt.definition(type)
394
394
  end
@@ -428,11 +428,11 @@ class Puppet::Resource
428
428
 
429
429
  def uniqueness_key
430
430
  # Temporary kludge to deal with inconsistent use patterns; ensure we don't return nil for namevar/:name
431
- h = self.to_hash
431
+ h = to_hash
432
432
  name = h[namevar] || h[:name] || self.name
433
433
  h[namevar] ||= name
434
434
  h[:name] ||= name
435
- h.values_at(*key_attributes.sort_by { |k| k.to_s })
435
+ h.values_at(*key_attributes.sort_by(&:to_s))
436
436
  end
437
437
 
438
438
  def key_attributes
@@ -460,7 +460,7 @@ class Puppet::Resource
460
460
  }.join
461
461
  # rubocop:enable Lint/FormatParameterMismatch
462
462
 
463
- " %s:\n%s" % [self.title, attributes]
463
+ " %s:\n%s" % [title, attributes]
464
464
  end
465
465
 
466
466
  # Convert our resource to a hiera hash suitable for serialization.
@@ -475,7 +475,7 @@ class Puppet::Resource
475
475
  res['ensure'] = value if value
476
476
  res.merge!(params.sort.to_h)
477
477
 
478
- return { h['title'] => res }
478
+ { h['title'] => res }
479
479
  end
480
480
 
481
481
  # Convert our resource to Puppet code.
@@ -497,8 +497,8 @@ class Puppet::Resource
497
497
  }.join
498
498
  # rubocop:enable Lint/FormatParameterMismatch
499
499
 
500
- escaped = self.title.gsub(/'/, "\\\\'")
501
- "%s { '%s':\n%s}" % [self.type.to_s.downcase, escaped, attributes]
500
+ escaped = title.gsub(/'/, "\\\\'")
501
+ "%s { '%s':\n%s}" % [type.to_s.downcase, escaped, attributes]
502
502
  end
503
503
 
504
504
  def to_ref
@@ -513,15 +513,15 @@ class Puppet::Resource
513
513
  # must check its kind before deciding whether the catalog format is of an older
514
514
  # version or not.
515
515
  def to_ral
516
- if self.kind == COMPILABLE_TYPE_STRING
517
- typeklass = Puppet::Type.type(self.type)
518
- elsif self.catalog && self.catalog.catalog_format >= 2
516
+ if kind == COMPILABLE_TYPE_STRING
517
+ typeklass = Puppet::Type.type(type)
518
+ elsif catalog && catalog.catalog_format >= 2
519
519
  typeklass = Puppet::Type.type(:component)
520
520
  else
521
- typeklass = Puppet::Type.type(self.type) || Puppet::Type.type(:component)
521
+ typeklass = Puppet::Type.type(type) || Puppet::Type.type(:component)
522
522
  end
523
523
 
524
- raise(Puppet::Error, "Resource type '#{self.type}' was not found") unless typeklass
524
+ raise(Puppet::Error, "Resource type '#{type}' was not found") unless typeklass
525
525
 
526
526
  typeklass.new(self)
527
527
  end
@@ -589,9 +589,9 @@ class Puppet::Resource
589
589
 
590
590
  def self.extract_type_and_title(argtype, argtitle)
591
591
  if (argtype.nil? || argtype == :component || argtype == :whit) &&
592
- argtitle =~ /^([^\[\]]+)\[(.+)\]$/m then [$1, $2]
592
+ argtitle =~ /^([^\[\]]+)\[(.+)\]$/m then [::Regexp.last_match(1), ::Regexp.last_match(2)]
593
593
  elsif argtitle.nil? && argtype.is_a?(String) &&
594
- argtype =~ /^([^\[\]]+)\[(.+)\]$/m then [$1, $2]
594
+ argtype =~ /^([^\[\]]+)\[(.+)\]$/m then [::Regexp.last_match(1), ::Regexp.last_match(2)]
595
595
  elsif argtitle then [argtype, argtitle]
596
596
  elsif argtype.is_a?(Puppet::Type) then [argtype.class.name, argtype.title]
597
597
  else raise ArgumentError, _("No title provided and %{type} is not a valid resource reference") % { type: argtype.inspect } # rubocop:disable Lint/ElseLayout
@@ -646,32 +646,32 @@ class Puppet::Resource
646
646
  if type.respond_to?(:title_patterns) && !type.title_patterns.nil?
647
647
  type.title_patterns.each do |regexp, symbols_and_lambdas|
648
648
  captures = regexp.match(title.to_s)
649
- if captures
650
- symbols_and_lambdas.zip(captures[1..]).each do |symbol_and_lambda, capture|
651
- symbol, proc = symbol_and_lambda
652
- # Many types pass "identity" as the proc; we might as well give
653
- # them a shortcut to delivering that without the extra cost.
654
- #
655
- # Especially because the global type defines title_patterns and
656
- # uses the identity patterns.
657
- #
658
- # This was worth about 8MB of memory allocation saved in my
659
- # testing, so is worth the complexity for the API.
660
- if proc then
661
- h[symbol] = proc.call(capture)
662
- else
663
- h[symbol] = capture
664
- end
649
+ next unless captures
650
+
651
+ symbols_and_lambdas.zip(captures[1..]).each do |symbol_and_lambda, capture|
652
+ symbol, proc = symbol_and_lambda
653
+ # Many types pass "identity" as the proc; we might as well give
654
+ # them a shortcut to delivering that without the extra cost.
655
+ #
656
+ # Especially because the global type defines title_patterns and
657
+ # uses the identity patterns.
658
+ #
659
+ # This was worth about 8MB of memory allocation saved in my
660
+ # testing, so is worth the complexity for the API.
661
+ if proc then
662
+ h[symbol] = proc.call(capture)
663
+ else
664
+ h[symbol] = capture
665
665
  end
666
- return h
667
666
  end
667
+ return h
668
668
  end
669
669
  # If we've gotten this far, then none of the provided title patterns
670
670
  # matched. Since there's no way to determine the title then the
671
671
  # resource should fail here.
672
672
  raise Puppet::Error, _("No set of title patterns matched the title \"%{title}\".") % { title: title }
673
673
  else
674
- return { :name => title.to_s }
674
+ { :name => title.to_s }
675
675
  end
676
676
  end
677
677
  end
@@ -8,7 +8,7 @@ module Puppet::Scheduler
8
8
 
9
9
  def run_loop(jobs)
10
10
  mark_start_times(jobs, @timer.now)
11
- while not enabled(jobs).empty?
11
+ until enabled(jobs).empty?
12
12
  @timer.wait_for(min_interval_to_next_run_from(jobs, @timer.now))
13
13
  run_ready(jobs, @timer.now)
14
14
  end
@@ -26,11 +26,9 @@ class Puppet::Settings::AliasSetting
26
26
  end
27
27
 
28
28
  def method_missing(method, *args)
29
- begin
30
- alias_for.send(method, *args)
31
- rescue => e
32
- Puppet.log_exception(self.class, e.message)
33
- end
29
+ alias_for.send(method, *args)
30
+ rescue => e
31
+ Puppet.log_exception(self.class, e.message)
34
32
  end
35
33
 
36
34
  private
@@ -89,7 +89,7 @@ class Puppet::Settings::BaseSetting
89
89
  def initialize(args = {})
90
90
  @settings = args.delete(:settings)
91
91
  unless @settings
92
- raise ArgumentError.new("You must refer to a settings object")
92
+ raise ArgumentError, "You must refer to a settings object"
93
93
  end
94
94
 
95
95
  # explicitly set name prior to calling other param= methods to provide meaningful feedback during
@@ -97,25 +97,25 @@ class Puppet::Settings::BaseSetting
97
97
  @name = args[:name] if args.include? :name
98
98
 
99
99
  # set the default value for call_hook
100
- @call_hook = :on_write_only if args[:hook] and not args[:call_hook]
100
+ @call_hook = :on_write_only if args[:hook] and !(args[:call_hook])
101
101
  @has_hook = false
102
102
 
103
- if args[:call_hook] and not args[:hook]
103
+ if args[:call_hook] and !(args[:hook])
104
104
  # TRANSLATORS ':call_hook' and ':hook' are specific setting names and should not be translated
105
105
  raise ArgumentError, _("Cannot reference :call_hook for :%{name} if no :hook is defined") % { name: @name }
106
106
  end
107
107
 
108
108
  args.each do |param, value|
109
109
  method = param.to_s + "="
110
- unless self.respond_to? method
110
+ unless respond_to? method
111
111
  raise ArgumentError, _("%{class_name} (setting '%{setting}') does not accept %{parameter}") %
112
112
  { class_name: self.class, setting: args[:name], parameter: param }
113
113
  end
114
114
 
115
- self.send(method, value)
115
+ send(method, value)
116
116
  end
117
- unless self.desc
118
- raise ArgumentError, _("You must provide a description for the %{class_name} config option") % { class_name: self.name }
117
+ unless desc
118
+ raise ArgumentError, _("You must provide a description for the %{class_name} config option") % { class_name: name }
119
119
  end
120
120
  end
121
121
 
@@ -146,7 +146,7 @@ class Puppet::Settings::BaseSetting
146
146
  end
147
147
  return default_value unless check_application_defaults_first
148
148
 
149
- return @settings.value(name, :application_defaults, true) || default_value
149
+ @settings.value(name, :application_defaults, true) || default_value
150
150
  end
151
151
 
152
152
  # Convert the object to a config statement.
@@ -161,7 +161,7 @@ class Puppet::Settings::BaseSetting
161
161
  # If the value has not been overridden, then print it out commented
162
162
  # and unconverted, so it's clear that that's the default and how it
163
163
  # works.
164
- value = @settings.value(self.name)
164
+ value = @settings.value(name)
165
165
 
166
166
  if value != @default
167
167
  line = "#{@name} = #{value}"
@@ -180,7 +180,7 @@ class Puppet::Settings::BaseSetting
180
180
  # @return [String] Retrieves the value, or if it's not set, retrieves the default.
181
181
  # @api public
182
182
  def value(bypass_interpolation = false)
183
- @settings.value(self.name, nil, bypass_interpolation)
183
+ @settings.value(name, nil, bypass_interpolation)
184
184
  end
185
185
 
186
186
  # Modify the value when it is first evaluated
@@ -223,6 +223,6 @@ class Puppet::Settings::BaseSetting
223
223
  end
224
224
 
225
225
  def inspect
226
- %Q{<#{self.class}:#{self.object_id} @name="#{@name}" @section="#{@section}" @default="#{@default}" @call_hook="#{@call_hook}">}
226
+ %Q(<#{self.class}:#{object_id} @name="#{@name}" @section="#{@section}" @default="#{@default}" @call_hook="#{@call_hook}">)
227
227
  end
228
228
  end
@@ -21,8 +21,8 @@ class Puppet::Settings::BooleanSetting < Puppet::Settings::BaseSetting
21
21
 
22
22
  def munge(value)
23
23
  case value
24
- when true, "true"; return true
25
- when false, "false"; return false
24
+ when true, "true"; true
25
+ when false, "false"; false
26
26
  else
27
27
  raise Puppet::Settings::ValidationError, _("Invalid value '%{value}' for boolean parameter: %{name}") % { value: value.inspect, name: @name }
28
28
  end
@@ -22,7 +22,7 @@ class Puppet::Settings::ConfigFile
22
22
  # @return A Struct with a +sections+ array representing each configuration section
23
23
  def parse_file(file, text, allowed_section_names = [])
24
24
  result = Conf.new
25
- if !allowed_section_names.empty?
25
+ unless allowed_section_names.empty?
26
26
  allowed_section_names << 'main' unless allowed_section_names.include?('main')
27
27
  end
28
28
 
@@ -123,10 +123,11 @@ class Puppet::Settings::ConfigFile
123
123
  def extract_fileinfo(string)
124
124
  result = {}
125
125
  value = string.sub(/\{\s*([^}]+)\s*\}/) do
126
- params = $1
126
+ params = ::Regexp.last_match(1)
127
127
  params.split(/\s*,\s*/).each do |str|
128
- if str =~ /^\s*(\w+)\s*=\s*([\w]+)\s*$/
129
- param, value = $1.intern, $2
128
+ if str =~ /^\s*(\w+)\s*=\s*(\w+)\s*$/
129
+ param = ::Regexp.last_match(1).intern
130
+ value = ::Regexp.last_match(2)
130
131
  result[param] = value
131
132
  unless [:owner, :mode, :group].include?(param)
132
133
  raise ArgumentError, _("Invalid file option '%{parameter}'") % { parameter: param }
@@ -24,8 +24,8 @@ class Puppet::Settings::DurationSetting < Puppet::Settings::BaseSetting
24
24
  def munge(value)
25
25
  if value.is_a?(Integer) || value.nil?
26
26
  value
27
- elsif (value.is_a?(String) and value =~ FORMAT)
28
- $1.to_i * UNITMAP[$2 || 's']
27
+ elsif value.is_a?(String) and value =~ FORMAT
28
+ ::Regexp.last_match(1).to_i * UNITMAP[::Regexp.last_match(2) || 's']
29
29
  else
30
30
  raise Puppet::Settings::ValidationError, _("Invalid duration format '%{value}' for parameter: %{name}") % { value: value.inspect, name: @name }
31
31
  end
@@ -149,7 +149,7 @@ class Puppet::Settings::EnvironmentConf
149
149
  end
150
150
 
151
151
  extraneous_settings = main.settings.map(&:name) - VALID_SETTINGS
152
- if !extraneous_settings.empty?
152
+ unless extraneous_settings.empty?
153
153
  # warn once per config file path
154
154
  Puppet.warn_once(
155
155
  :invalid_settings, "EnvironmentConf-settings:#{path_to_conf_file}",
@@ -161,7 +161,7 @@ class Puppet::Settings::EnvironmentConf
161
161
  valid = false
162
162
  end
163
163
 
164
- return valid
164
+ valid
165
165
  end
166
166
  private_class_method :validate
167
167
 
@@ -174,7 +174,7 @@ class Puppet::Settings::EnvironmentConf
174
174
  def expand_glob(path)
175
175
  return nil if path.nil?
176
176
 
177
- if path =~ /[*?\[\{]/
177
+ if path =~ /[*?\[{]/
178
178
  Dir.glob(path)
179
179
  else
180
180
  path
@@ -2,7 +2,7 @@
2
2
 
3
3
  class Puppet::Settings::FileOrDirectorySetting < Puppet::Settings::FileSetting
4
4
  def type
5
- if Puppet::FileSystem.directory?(self.value) || @path_ends_with_slash
5
+ if Puppet::FileSystem.directory?(value) || @path_ends_with_slash
6
6
  :directory
7
7
  else
8
8
  :file
@@ -12,7 +12,7 @@ class Puppet::Settings::FileOrDirectorySetting < Puppet::Settings::FileSetting
12
12
  # Overrides munge to be able to read the un-munged value (the FileSetting.munch removes trailing slash)
13
13
  #
14
14
  def munge(value)
15
- if value.is_a?(String) && value =~ /[\\\/]$/
15
+ if value.is_a?(String) && value =~ %r{[\\/]$}
16
16
  @path_ends_with_slash = true
17
17
  end
18
18
  super
@@ -126,7 +126,7 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
126
126
  type = self.type
127
127
  return nil unless type
128
128
 
129
- path = self.value
129
+ path = value
130
130
 
131
131
  return nil unless path.is_a?(String)
132
132
 
@@ -134,12 +134,12 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
134
134
  path = File.expand_path(path)
135
135
 
136
136
  return nil unless type == :directory || Puppet::FileSystem.exist?(path)
137
- return nil if path =~ /^\/dev/ || path =~ /^[A-Z]:\/dev/i
137
+ return nil if path =~ %r{^/dev} || path =~ %r{^[A-Z]:/dev}i
138
138
 
139
139
  resource = Puppet::Resource.new(:file, path)
140
140
 
141
141
  if Puppet[:manage_internal_file_permissions]
142
- if self.mode
142
+ if mode
143
143
  # This ends up mimicking the munge method of the mode
144
144
  # parameter to make sure that we're always passing the string
145
145
  # version of the octal number. If we were setting the
@@ -156,8 +156,8 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
156
156
 
157
157
  # REMIND fails on Windows because chown/chgrp functionality not supported yet
158
158
  if Puppet.features.root? and !Puppet::Util::Platform.windows?
159
- resource[:owner] = self.owner if self.owner
160
- resource[:group] = self.group if self.group
159
+ resource[:owner] = owner if owner
160
+ resource[:group] = group if group
161
161
  end
162
162
  end
163
163
 
@@ -166,7 +166,7 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
166
166
  resource[:links] = :follow
167
167
  resource[:backup] = false
168
168
 
169
- resource.tag(self.section, self.name, "settings")
169
+ resource.tag(section, name, "settings")
170
170
 
171
171
  resource
172
172
  end
@@ -215,14 +215,14 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
215
215
 
216
216
  Puppet::Util::SUIDManager.asuser(*chown) do
217
217
  # Update the umask to make non-executable files
218
- Puppet::Util.withumask(File.umask ^ 0111) do
219
- yielded_value = case self.mode
218
+ Puppet::Util.withumask(File.umask ^ 0o111) do
219
+ yielded_value = case mode
220
220
  when String
221
- self.mode.to_i(8)
221
+ mode.to_i(8)
222
222
  when NilClass
223
- 0640
223
+ 0o640
224
224
  else
225
- self.mode
225
+ mode
226
226
  end
227
227
 
228
228
  yield yielded_value