puppet 8.5.1-universal-darwin → 8.7.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 (581) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +55 -48
  4. data/Rakefile +45 -22
  5. data/examples/hiera/README.md +68 -57
  6. data/examples/hiera/data/common.yaml +12 -0
  7. data/examples/hiera/data/dc1.yaml +6 -0
  8. data/examples/hiera/hiera.yaml +15 -0
  9. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  10. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  11. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  12. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  13. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  14. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  15. data/examples/hiera/site.pp +1 -1
  16. data/ext/project_data.yaml +0 -45
  17. data/ext/windows/service/daemon.rb +49 -55
  18. data/lib/hiera/scope.rb +3 -3
  19. data/lib/hiera_puppet.rb +1 -1
  20. data/lib/puppet/agent/disabler.rb +1 -1
  21. data/lib/puppet/application/agent.rb +2 -2
  22. data/lib/puppet/application/apply.rb +2 -2
  23. data/lib/puppet/application/describe.rb +6 -6
  24. data/lib/puppet/application/device.rb +99 -100
  25. data/lib/puppet/application/doc.rb +1 -1
  26. data/lib/puppet/application/face_base.rb +7 -7
  27. data/lib/puppet/application/filebucket.rb +1 -1
  28. data/lib/puppet/application/lookup.rb +5 -5
  29. data/lib/puppet/application/resource.rb +10 -3
  30. data/lib/puppet/application/ssl.rb +3 -3
  31. data/lib/puppet/application.rb +16 -18
  32. data/lib/puppet/coercion.rb +1 -1
  33. data/lib/puppet/configurer/downloader.rb +9 -4
  34. data/lib/puppet/configurer/fact_handler.rb +12 -13
  35. data/lib/puppet/configurer.rb +16 -18
  36. data/lib/puppet/confine/feature.rb +1 -1
  37. data/lib/puppet/confine/variable.rb +1 -1
  38. data/lib/puppet/confine.rb +2 -2
  39. data/lib/puppet/confine_collection.rb +1 -1
  40. data/lib/puppet/confiner.rb +2 -2
  41. data/lib/puppet/daemon.rb +4 -3
  42. data/lib/puppet/datatypes.rb +5 -6
  43. data/lib/puppet/defaults.rb +14 -8
  44. data/lib/puppet/environments.rb +3 -7
  45. data/lib/puppet/error.rb +3 -3
  46. data/lib/puppet/external/dot.rb +42 -34
  47. data/lib/puppet/face/catalog/select.rb +1 -1
  48. data/lib/puppet/face/epp.rb +7 -9
  49. data/lib/puppet/face/help.rb +12 -12
  50. data/lib/puppet/face/module/changes.rb +1 -3
  51. data/lib/puppet/face/module/list.rb +37 -37
  52. data/lib/puppet/face/node/clean.rb +1 -1
  53. data/lib/puppet/face/parser.rb +6 -8
  54. data/lib/puppet/face/report.rb +5 -7
  55. data/lib/puppet/facter_impl.rb +1 -1
  56. data/lib/puppet/feature/base.rb +9 -11
  57. data/lib/puppet/feature/pe_license.rb +1 -1
  58. data/lib/puppet/feature/ssh.rb +1 -1
  59. data/lib/puppet/feature/telnet.rb +3 -5
  60. data/lib/puppet/feature/zlib.rb +1 -1
  61. data/lib/puppet/ffi/windows/constants.rb +1 -1
  62. data/lib/puppet/ffi/windows/functions.rb +2 -2
  63. data/lib/puppet/ffi/windows/structs.rb +3 -3
  64. data/lib/puppet/file_bucket/dipper.rb +4 -4
  65. data/lib/puppet/file_bucket/file.rb +4 -4
  66. data/lib/puppet/file_serving/base.rb +5 -5
  67. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  68. data/lib/puppet/file_serving/configuration.rb +3 -3
  69. data/lib/puppet/file_serving/fileset.rb +13 -13
  70. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  71. data/lib/puppet/file_serving/metadata.rb +13 -9
  72. data/lib/puppet/file_serving/mount/file.rb +6 -6
  73. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  74. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  75. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  76. data/lib/puppet/file_serving/mount.rb +1 -1
  77. data/lib/puppet/file_system/file_impl.rb +3 -3
  78. data/lib/puppet/file_system/memory_impl.rb +1 -1
  79. data/lib/puppet/file_system/path_pattern.rb +1 -1
  80. data/lib/puppet/file_system/uniquefile.rb +17 -16
  81. data/lib/puppet/file_system/windows.rb +26 -18
  82. data/lib/puppet/forge/cache.rb +2 -2
  83. data/lib/puppet/forge/errors.rb +1 -1
  84. data/lib/puppet/forge/repository.rb +2 -2
  85. data/lib/puppet/forge.rb +13 -19
  86. data/lib/puppet/functions/abs.rb +2 -2
  87. data/lib/puppet/functions/camelcase.rb +1 -1
  88. data/lib/puppet/functions/compare.rb +2 -2
  89. data/lib/puppet/functions/contain.rb +1 -1
  90. data/lib/puppet/functions/defined.rb +2 -2
  91. data/lib/puppet/functions/dig.rb +1 -1
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  93. data/lib/puppet/functions/get.rb +1 -1
  94. data/lib/puppet/functions/hocon_data.rb +3 -5
  95. data/lib/puppet/functions/import.rb +1 -1
  96. data/lib/puppet/functions/json_data.rb +4 -6
  97. data/lib/puppet/functions/max.rb +2 -2
  98. data/lib/puppet/functions/min.rb +2 -2
  99. data/lib/puppet/functions/new.rb +1 -1
  100. data/lib/puppet/functions/reduce.rb +6 -10
  101. data/lib/puppet/functions/regsubst.rb +2 -2
  102. data/lib/puppet/functions/require.rb +1 -1
  103. data/lib/puppet/functions/yaml_data.rb +11 -13
  104. data/lib/puppet/functions.rb +32 -37
  105. data/lib/puppet/generate/type.rb +2 -2
  106. data/lib/puppet/gettext/config.rb +9 -9
  107. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  108. data/lib/puppet/graph/relationship_graph.rb +12 -12
  109. data/lib/puppet/graph/simple_graph.rb +8 -10
  110. data/lib/puppet/http/client.rb +1 -1
  111. data/lib/puppet/http/dns.rb +4 -4
  112. data/lib/puppet/http/external_client.rb +1 -1
  113. data/lib/puppet/http/factory.rb +1 -1
  114. data/lib/puppet/http/proxy.rb +15 -15
  115. data/lib/puppet/http/redirector.rb +6 -2
  116. data/lib/puppet/http/resolver.rb +2 -2
  117. data/lib/puppet/http/retry_after_handler.rb +2 -2
  118. data/lib/puppet/http/service/ca.rb +1 -1
  119. data/lib/puppet/http/service/compiler.rb +4 -4
  120. data/lib/puppet/http/service/file_server.rb +1 -1
  121. data/lib/puppet/http/service/report.rb +2 -2
  122. data/lib/puppet/http/service.rb +9 -13
  123. data/lib/puppet/http/session.rb +1 -1
  124. data/lib/puppet/http/site.rb +1 -1
  125. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  126. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  127. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  128. data/lib/puppet/indirector/exec.rb +2 -2
  129. data/lib/puppet/indirector/face.rb +7 -9
  130. data/lib/puppet/indirector/fact_search.rb +1 -1
  131. data/lib/puppet/indirector/facts/facter.rb +6 -6
  132. data/lib/puppet/indirector/facts/json.rb +1 -1
  133. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  134. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  135. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  136. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  137. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  138. data/lib/puppet/indirector/hiera.rb +1 -1
  139. data/lib/puppet/indirector/indirection.rb +27 -29
  140. data/lib/puppet/indirector/json.rb +4 -4
  141. data/lib/puppet/indirector/memory.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +5 -5
  143. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  144. data/lib/puppet/indirector/none.rb +1 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/yaml.rb +1 -1
  147. data/lib/puppet/indirector/request.rb +4 -4
  148. data/lib/puppet/indirector/resource/ral.rb +2 -4
  149. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  150. data/lib/puppet/indirector/terminus.rb +4 -4
  151. data/lib/puppet/indirector/yaml.rb +3 -3
  152. data/lib/puppet/info_service/class_information_service.rb +5 -8
  153. data/lib/puppet/info_service/task_information_service.rb +6 -7
  154. data/lib/puppet/interface/action.rb +5 -5
  155. data/lib/puppet/interface/action_manager.rb +5 -5
  156. data/lib/puppet/interface/documentation.rb +5 -5
  157. data/lib/puppet/interface/face_collection.rb +7 -7
  158. data/lib/puppet/interface/option.rb +2 -2
  159. data/lib/puppet/interface/option_manager.rb +6 -6
  160. data/lib/puppet/interface.rb +4 -4
  161. data/lib/puppet/metatype/manager.rb +2 -2
  162. data/lib/puppet/module/plan.rb +10 -10
  163. data/lib/puppet/module/task.rb +8 -8
  164. data/lib/puppet/module.rb +39 -41
  165. data/lib/puppet/module_tool/applications/application.rb +10 -8
  166. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  167. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  168. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  169. data/lib/puppet/module_tool/checksums.rb +2 -2
  170. data/lib/puppet/module_tool/dependency.rb +1 -1
  171. data/lib/puppet/module_tool/errors/base.rb +1 -1
  172. data/lib/puppet/module_tool/install_directory.rb +1 -1
  173. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  174. data/lib/puppet/module_tool/metadata.rb +12 -8
  175. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  176. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  177. data/lib/puppet/module_tool.rb +4 -4
  178. data/lib/puppet/network/client_request.rb +5 -3
  179. data/lib/puppet/network/format.rb +2 -2
  180. data/lib/puppet/network/format_support.rb +1 -1
  181. data/lib/puppet/network/formats.rb +1 -1
  182. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  183. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  184. data/lib/puppet/network/http/connection.rb +1 -1
  185. data/lib/puppet/network/http/handler.rb +8 -12
  186. data/lib/puppet/network/http/request.rb +1 -1
  187. data/lib/puppet/network/http/route.rb +9 -9
  188. data/lib/puppet/node/environment.rb +21 -23
  189. data/lib/puppet/node/facts.rb +1 -1
  190. data/lib/puppet/node.rb +5 -5
  191. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  192. data/lib/puppet/pal/pal_impl.rb +48 -50
  193. data/lib/puppet/pal/plan_signature.rb +1 -1
  194. data/lib/puppet/pal/task_signature.rb +1 -1
  195. data/lib/puppet/parameter/package_options.rb +1 -1
  196. data/lib/puppet/parameter/value.rb +2 -2
  197. data/lib/puppet/parameter/value_collection.rb +7 -7
  198. data/lib/puppet/parameter.rb +8 -9
  199. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  200. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  201. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  202. data/lib/puppet/parser/ast/resource.rb +4 -4
  203. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  204. data/lib/puppet/parser/ast.rb +14 -15
  205. data/lib/puppet/parser/compiler.rb +26 -28
  206. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  207. data/lib/puppet/parser/functions/fail.rb +1 -1
  208. data/lib/puppet/parser/functions/generate.rb +2 -2
  209. data/lib/puppet/parser/functions/tag.rb +1 -1
  210. data/lib/puppet/parser/functions.rb +2 -2
  211. data/lib/puppet/parser/relationship.rb +3 -1
  212. data/lib/puppet/parser/resource/param.rb +2 -2
  213. data/lib/puppet/parser/resource.rb +23 -23
  214. data/lib/puppet/parser/scope.rb +10 -10
  215. data/lib/puppet/parser/script_compiler.rb +1 -1
  216. data/lib/puppet/parser/templatewrapper.rb +1 -1
  217. data/lib/puppet/parser/type_loader.rb +10 -12
  218. data/lib/puppet/parser.rb +1 -1
  219. data/lib/puppet/pops/adaptable.rb +1 -1
  220. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  221. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  222. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  223. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  224. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  225. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  226. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  227. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  228. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  229. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  230. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  231. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  232. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  233. data/lib/puppet/pops/functions/function.rb +14 -16
  234. data/lib/puppet/pops/issue_reporter.rb +2 -2
  235. data/lib/puppet/pops/label_provider.rb +2 -2
  236. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  237. data/lib/puppet/pops/loader/loader.rb +4 -4
  238. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  239. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  240. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  241. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  242. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  243. data/lib/puppet/pops/loader/static_loader.rb +5 -5
  244. data/lib/puppet/pops/loaders.rb +3 -3
  245. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  246. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  247. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  248. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  249. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  250. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  251. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  252. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  253. data/lib/puppet/pops/lookup/module_data_provider.rb +9 -9
  254. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  255. data/lib/puppet/pops/merge_strategy.rb +6 -6
  256. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  257. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  258. data/lib/puppet/pops/model/factory.rb +4 -5
  259. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  260. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  261. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  262. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  263. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  264. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  265. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  266. data/lib/puppet/pops/parser/locator.rb +4 -4
  267. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  268. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  269. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  270. data/lib/puppet/pops/patterns.rb +12 -12
  271. data/lib/puppet/pops/pcore.rb +1 -1
  272. data/lib/puppet/pops/pn.rb +2 -2
  273. data/lib/puppet/pops/puppet_stack.rb +1 -1
  274. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  275. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  276. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  277. data/lib/puppet/pops/time/timestamp.rb +1 -1
  278. data/lib/puppet/pops/types/class_loader.rb +4 -6
  279. data/lib/puppet/pops/types/iterable.rb +1 -1
  280. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  281. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  282. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  283. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  284. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  285. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  286. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  287. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  288. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  289. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  290. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  291. data/lib/puppet/pops/types/string_converter.rb +12 -8
  292. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  293. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  294. data/lib/puppet/pops/types/type_factory.rb +7 -3
  295. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  296. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  297. data/lib/puppet/pops/types/types.rb +28 -24
  298. data/lib/puppet/pops/utils.rb +38 -42
  299. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  300. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  301. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  302. data/lib/puppet/pops/validation.rb +4 -4
  303. data/lib/puppet/pops/visitor.rb +2 -2
  304. data/lib/puppet/property/ensure.rb +12 -14
  305. data/lib/puppet/property/keyvalue.rb +4 -4
  306. data/lib/puppet/property/list.rb +4 -4
  307. data/lib/puppet/property/ordered_list.rb +1 -1
  308. data/lib/puppet/property.rb +31 -33
  309. data/lib/puppet/provider/aix_object.rb +1 -1
  310. data/lib/puppet/provider/exec.rb +2 -2
  311. data/lib/puppet/provider/file/posix.rb +19 -17
  312. data/lib/puppet/provider/file/windows.rb +13 -19
  313. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  314. data/lib/puppet/provider/group/groupadd.rb +32 -11
  315. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  316. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  317. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  318. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  319. data/lib/puppet/provider/nameservice.rb +8 -8
  320. data/lib/puppet/provider/package/aix.rb +19 -19
  321. data/lib/puppet/provider/package/appdmg.rb +2 -2
  322. data/lib/puppet/provider/package/apple.rb +1 -1
  323. data/lib/puppet/provider/package/apt.rb +18 -18
  324. data/lib/puppet/provider/package/aptitude.rb +1 -3
  325. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  326. data/lib/puppet/provider/package/blastwave.rb +10 -14
  327. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  328. data/lib/puppet/provider/package/dpkg.rb +11 -13
  329. data/lib/puppet/provider/package/fink.rb +14 -14
  330. data/lib/puppet/provider/package/freebsd.rb +1 -1
  331. data/lib/puppet/provider/package/gem.rb +12 -14
  332. data/lib/puppet/provider/package/macports.rb +2 -2
  333. data/lib/puppet/provider/package/nim.rb +10 -10
  334. data/lib/puppet/provider/package/openbsd.rb +22 -22
  335. data/lib/puppet/provider/package/opkg.rb +6 -6
  336. data/lib/puppet/provider/package/pacman.rb +35 -29
  337. data/lib/puppet/provider/package/pip.rb +25 -24
  338. data/lib/puppet/provider/package/pkg.rb +15 -15
  339. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  340. data/lib/puppet/provider/package/pkgin.rb +2 -2
  341. data/lib/puppet/provider/package/pkgng.rb +5 -5
  342. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  343. data/lib/puppet/provider/package/portage.rb +59 -61
  344. data/lib/puppet/provider/package/ports.rb +12 -11
  345. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  346. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  347. data/lib/puppet/provider/package/rpm.rb +26 -26
  348. data/lib/puppet/provider/package/rug.rb +7 -9
  349. data/lib/puppet/provider/package/sun.rb +4 -4
  350. data/lib/puppet/provider/package/up2date.rb +5 -7
  351. data/lib/puppet/provider/package/urpmi.rb +6 -6
  352. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  353. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  354. data/lib/puppet/provider/package/windows/package.rb +2 -2
  355. data/lib/puppet/provider/package/windows.rb +3 -5
  356. data/lib/puppet/provider/package/xbps.rb +127 -0
  357. data/lib/puppet/provider/package/yum.rb +33 -37
  358. data/lib/puppet/provider/package/zypper.rb +12 -14
  359. data/lib/puppet/provider/package.rb +1 -1
  360. data/lib/puppet/provider/package_targetable.rb +1 -1
  361. data/lib/puppet/provider/parsedfile.rb +9 -9
  362. data/lib/puppet/provider/service/base.rb +16 -21
  363. data/lib/puppet/provider/service/bsd.rb +4 -4
  364. data/lib/puppet/provider/service/daemontools.rb +31 -31
  365. data/lib/puppet/provider/service/debian.rb +6 -6
  366. data/lib/puppet/provider/service/freebsd.rb +36 -36
  367. data/lib/puppet/provider/service/gentoo.rb +6 -6
  368. data/lib/puppet/provider/service/init.rb +19 -19
  369. data/lib/puppet/provider/service/launchd.rb +22 -22
  370. data/lib/puppet/provider/service/openbsd.rb +10 -10
  371. data/lib/puppet/provider/service/openrc.rb +1 -1
  372. data/lib/puppet/provider/service/openwrt.rb +3 -3
  373. data/lib/puppet/provider/service/rcng.rb +3 -3
  374. data/lib/puppet/provider/service/redhat.rb +4 -4
  375. data/lib/puppet/provider/service/runit.rb +6 -6
  376. data/lib/puppet/provider/service/service.rb +5 -7
  377. data/lib/puppet/provider/service/smf.rb +28 -27
  378. data/lib/puppet/provider/service/src.rb +7 -7
  379. data/lib/puppet/provider/service/systemd.rb +31 -37
  380. data/lib/puppet/provider/service/upstart.rb +17 -17
  381. data/lib/puppet/provider/service/windows.rb +7 -7
  382. data/lib/puppet/provider/user/aix.rb +4 -2
  383. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  384. data/lib/puppet/provider/user/hpux.rb +10 -14
  385. data/lib/puppet/provider/user/pw.rb +1 -1
  386. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  387. data/lib/puppet/provider/user/useradd.rb +7 -7
  388. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  389. data/lib/puppet/provider.rb +8 -8
  390. data/lib/puppet/reference/indirection.rb +3 -0
  391. data/lib/puppet/reference/metaparameter.rb +1 -1
  392. data/lib/puppet/reference/providers.rb +3 -3
  393. data/lib/puppet/reference/type.rb +1 -1
  394. data/lib/puppet/relationship.rb +4 -5
  395. data/lib/puppet/reports/http.rb +1 -1
  396. data/lib/puppet/reports/log.rb +2 -2
  397. data/lib/puppet/reports/store.rb +4 -4
  398. data/lib/puppet/reports.rb +2 -2
  399. data/lib/puppet/resource/catalog.rb +16 -16
  400. data/lib/puppet/resource/status.rb +3 -3
  401. data/lib/puppet/resource/type.rb +8 -8
  402. data/lib/puppet/resource/type_collection.rb +1 -1
  403. data/lib/puppet/resource.rb +41 -41
  404. data/lib/puppet/scheduler/scheduler.rb +1 -1
  405. data/lib/puppet/scheduler/splay_job.rb +9 -0
  406. data/lib/puppet/settings/alias_setting.rb +3 -5
  407. data/lib/puppet/settings/base_setting.rb +11 -11
  408. data/lib/puppet/settings/boolean_setting.rb +2 -2
  409. data/lib/puppet/settings/config_file.rb +5 -4
  410. data/lib/puppet/settings/duration_setting.rb +2 -2
  411. data/lib/puppet/settings/environment_conf.rb +3 -3
  412. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  413. data/lib/puppet/settings/file_setting.rb +11 -11
  414. data/lib/puppet/settings/ini_file.rb +3 -3
  415. data/lib/puppet/settings/port_setting.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +2 -2
  417. data/lib/puppet/settings/ttl_setting.rb +2 -2
  418. data/lib/puppet/settings/value_translator.rb +8 -8
  419. data/lib/puppet/settings.rb +65 -70
  420. data/lib/puppet/ssl/base.rb +2 -4
  421. data/lib/puppet/ssl/certificate_request.rb +18 -22
  422. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  423. data/lib/puppet/ssl/oids.rb +2 -2
  424. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  425. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  426. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  427. data/lib/puppet/syntax_checkers/json.rb +3 -3
  428. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  429. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  430. data/lib/puppet/transaction/event.rb +2 -2
  431. data/lib/puppet/transaction/event_manager.rb +5 -5
  432. data/lib/puppet/transaction/persistence.rb +12 -14
  433. data/lib/puppet/transaction/report.rb +4 -4
  434. data/lib/puppet/transaction/resource_harness.rb +2 -2
  435. data/lib/puppet/transaction.rb +14 -18
  436. data/lib/puppet/type/component.rb +3 -3
  437. data/lib/puppet/type/exec.rb +51 -45
  438. data/lib/puppet/type/file/checksum_value.rb +1 -1
  439. data/lib/puppet/type/file/content.rb +6 -6
  440. data/lib/puppet/type/file/ctime.rb +2 -2
  441. data/lib/puppet/type/file/data_sync.rb +3 -3
  442. data/lib/puppet/type/file/ensure.rb +16 -15
  443. data/lib/puppet/type/file/mode.rb +9 -9
  444. data/lib/puppet/type/file/mtime.rb +2 -2
  445. data/lib/puppet/type/file/selcontext.rb +14 -14
  446. data/lib/puppet/type/file/source.rb +19 -21
  447. data/lib/puppet/type/file/target.rb +11 -11
  448. data/lib/puppet/type/file.rb +21 -21
  449. data/lib/puppet/type/filebucket.rb +3 -3
  450. data/lib/puppet/type/group.rb +3 -3
  451. data/lib/puppet/type/notify.rb +2 -2
  452. data/lib/puppet/type/package.rb +4 -4
  453. data/lib/puppet/type/resources.rb +6 -6
  454. data/lib/puppet/type/schedule.rb +9 -9
  455. data/lib/puppet/type/service.rb +6 -8
  456. data/lib/puppet/type/tidy.rb +22 -24
  457. data/lib/puppet/type/user.rb +13 -13
  458. data/lib/puppet/type.rb +76 -88
  459. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  460. data/lib/puppet/util/autoload.rb +2 -2
  461. data/lib/puppet/util/backups.rb +9 -9
  462. data/lib/puppet/util/character_encoding.rb +7 -6
  463. data/lib/puppet/util/checksums.rb +2 -2
  464. data/lib/puppet/util/classgen.rb +8 -8
  465. data/lib/puppet/util/colors.rb +1 -1
  466. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  467. data/lib/puppet/util/command_line/trollop.rb +60 -46
  468. data/lib/puppet/util/command_line.rb +2 -2
  469. data/lib/puppet/util/constant_inflector.rb +2 -2
  470. data/lib/puppet/util/diff.rb +19 -21
  471. data/lib/puppet/util/docs.rb +2 -2
  472. data/lib/puppet/util/errors.rb +9 -9
  473. data/lib/puppet/util/execution.rb +32 -9
  474. data/lib/puppet/util/feature.rb +1 -1
  475. data/lib/puppet/util/fileparsing.rb +12 -16
  476. data/lib/puppet/util/filetype.rb +36 -40
  477. data/lib/puppet/util/inifile.rb +6 -12
  478. data/lib/puppet/util/ldap/connection.rb +1 -1
  479. data/lib/puppet/util/ldap/manager.rb +10 -12
  480. data/lib/puppet/util/lockfile.rb +6 -8
  481. data/lib/puppet/util/log/destination.rb +2 -2
  482. data/lib/puppet/util/log/destinations.rb +4 -4
  483. data/lib/puppet/util/log.rb +12 -9
  484. data/lib/puppet/util/logging.rb +11 -11
  485. data/lib/puppet/util/metric.rb +3 -3
  486. data/lib/puppet/util/monkey_patches.rb +5 -7
  487. data/lib/puppet/util/network_device/config.rb +3 -3
  488. data/lib/puppet/util/package/version/debian.rb +27 -28
  489. data/lib/puppet/util/package/version/pip.rb +5 -5
  490. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  491. data/lib/puppet/util/package/version/rpm.rb +1 -1
  492. data/lib/puppet/util/package.rb +2 -2
  493. data/lib/puppet/util/pidlock.rb +2 -2
  494. data/lib/puppet/util/platform.rb +1 -1
  495. data/lib/puppet/util/plist.rb +8 -10
  496. data/lib/puppet/util/posix.rb +17 -17
  497. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  498. data/lib/puppet/util/provider_features.rb +3 -3
  499. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  500. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  501. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  502. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  503. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  504. data/lib/puppet/util/rdoc/parser.rb +1 -1
  505. data/lib/puppet/util/reference.rb +13 -9
  506. data/lib/puppet/util/retry_action.rb +1 -1
  507. data/lib/puppet/util/rpm_compare.rb +18 -19
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +7 -7
  510. data/lib/puppet/util/storage.rb +10 -12
  511. data/lib/puppet/util/suidmanager.rb +18 -19
  512. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  513. data/lib/puppet/util/tag_set.rb +2 -2
  514. data/lib/puppet/util/tagging.rb +8 -10
  515. data/lib/puppet/util/terminal.rb +4 -4
  516. data/lib/puppet/util/user_attr.rb +7 -7
  517. data/lib/puppet/util/watcher.rb +3 -5
  518. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  519. data/lib/puppet/util/windows/adsi.rb +42 -42
  520. data/lib/puppet/util/windows/com.rb +2 -2
  521. data/lib/puppet/util/windows/daemon.rb +64 -68
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +18 -25
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  525. data/lib/puppet/util/windows/principal.rb +8 -8
  526. data/lib/puppet/util/windows/process.rb +16 -28
  527. data/lib/puppet/util/windows/registry.rb +16 -15
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +31 -31
  530. data/lib/puppet/util/windows/service.rb +11 -11
  531. data/lib/puppet/util/windows/sid.rb +8 -8
  532. data/lib/puppet/util/windows/user.rb +18 -20
  533. data/lib/puppet/util/yaml.rb +1 -1
  534. data/lib/puppet/util.rb +55 -46
  535. data/lib/puppet/version.rb +2 -2
  536. data/lib/puppet/x509/pem_store.rb +1 -1
  537. data/lib/puppet.rb +3 -3
  538. data/locales/puppet.pot +604 -600
  539. data/man/man5/puppet.conf.5 +10 -2
  540. data/man/man8/puppet-agent.8 +1 -1
  541. data/man/man8/puppet-apply.8 +1 -1
  542. data/man/man8/puppet-catalog.8 +1 -1
  543. data/man/man8/puppet-config.8 +1 -1
  544. data/man/man8/puppet-describe.8 +1 -1
  545. data/man/man8/puppet-device.8 +1 -1
  546. data/man/man8/puppet-doc.8 +1 -1
  547. data/man/man8/puppet-epp.8 +1 -1
  548. data/man/man8/puppet-facts.8 +1 -1
  549. data/man/man8/puppet-filebucket.8 +1 -1
  550. data/man/man8/puppet-generate.8 +1 -1
  551. data/man/man8/puppet-help.8 +1 -1
  552. data/man/man8/puppet-lookup.8 +1 -1
  553. data/man/man8/puppet-module.8 +1 -1
  554. data/man/man8/puppet-node.8 +1 -1
  555. data/man/man8/puppet-parser.8 +1 -1
  556. data/man/man8/puppet-plugin.8 +1 -1
  557. data/man/man8/puppet-report.8 +1 -1
  558. data/man/man8/puppet-resource.8 +5 -1
  559. data/man/man8/puppet-script.8 +1 -1
  560. data/man/man8/puppet-ssl.8 +1 -1
  561. data/man/man8/puppet.8 +2 -2
  562. metadata +23 -27
  563. data/examples/hiera/etc/hiera.yaml +0 -15
  564. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  565. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  566. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  567. data/examples/hiera/etc/puppet.conf +0 -3
  568. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  569. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  570. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  571. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  572. data/tasks/benchmark.rake +0 -180
  573. data/tasks/cfpropertylist.rake +0 -15
  574. data/tasks/ci.rake +0 -24
  575. data/tasks/generate_ast_model.rake +0 -90
  576. data/tasks/generate_cert_fixtures.rake +0 -199
  577. data/tasks/manpages.rake +0 -67
  578. data/tasks/memwalk.rake +0 -195
  579. data/tasks/parallel.rake +0 -410
  580. data/tasks/parser.rake +0 -22
  581. data/tasks/yard.rake +0 -59
@@ -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
@@ -25,6 +25,15 @@ module Puppet::Scheduler
25
25
  end
26
26
  end
27
27
 
28
+ # Recalculates splay.
29
+ #
30
+ # @param splay_limit [Integer] the maximum time (in seconds) to delay before an agent's first run.
31
+ # @return @splay [Integer] a random integer less than or equal to the splay limit that represents the seconds to
32
+ # delay before next agent run.
33
+ def splay_limit=(splay_limit)
34
+ @splay = calculate_splay(splay_limit)
35
+ end
36
+
28
37
  private
29
38
 
30
39
  def calculate_splay(limit)
@@ -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