puppet 8.5.0-universal-darwin → 8.6.0-universal-darwin

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