puppet 8.5.1 → 8.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. metadata +2 -2
@@ -198,7 +198,7 @@ module Puppet::FFI::Windows
198
198
  :dwWin32ExitCode, :dword,
199
199
  :dwServiceSpecificExitCode, :dword,
200
200
  :dwCheckPoint, :dword,
201
- :dwWaitHint, :dword,
201
+ :dwWaitHint, :dword
202
202
  )
203
203
  end
204
204
 
@@ -223,7 +223,7 @@ module Puppet::FFI::Windows
223
223
  :dwTagId, :dword,
224
224
  :lpDependencies, :pointer,
225
225
  :lpServiceStartName, :pointer,
226
- :lpDisplayName, :pointer,
226
+ :lpDisplayName, :pointer
227
227
  )
228
228
  end
229
229
 
@@ -258,7 +258,7 @@ module Puppet::FFI::Windows
258
258
  )
259
259
  end
260
260
 
261
- MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384
261
+ MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16_384
262
262
 
263
263
  # SYMLINK_REPARSE_DATA_BUFFER
264
264
  # https://msdn.microsoft.com/en-us/library/cc232006.aspx
@@ -52,7 +52,7 @@ class Puppet::FileBucket::Dipper
52
52
  Puppet::FileBucket::File.indirection.save(file_bucket_file, dest_path)
53
53
  end
54
54
 
55
- return file_bucket_file.checksum_data
55
+ file_bucket_file.checksum_data
56
56
  rescue => detail
57
57
  message = _("Could not back up %{file}: %{detail}") % { file: file, detail: detail }
58
58
  Puppet.log_exception(detail, message)
@@ -139,7 +139,7 @@ class Puppet::FileBucket::Dipper
139
139
  changed = nil
140
140
  if Puppet::FileSystem.exist?(file_handle) and !Puppet::FileSystem.writable?(file_handle)
141
141
  changed = Puppet::FileSystem.stat(file_handle).mode
142
- ::File.chmod(changed | 0200, file)
142
+ ::File.chmod(changed | 0o200, file)
143
143
  end
144
144
  ::File.open(file, ::File::WRONLY | ::File::TRUNC | ::File::CREAT) { |of|
145
145
  of.binmode
@@ -152,9 +152,9 @@ class Puppet::FileBucket::Dipper
152
152
  Puppet.err _("Could not find file with checksum %{sum}") % { sum: sum }
153
153
  return nil
154
154
  end
155
- return newsum
155
+ newsum
156
156
  else
157
- return nil
157
+ nil
158
158
  end
159
159
  end
160
160
 
@@ -26,12 +26,12 @@ class Puppet::FileBucket::File
26
26
  when Pathname
27
27
  @contents = FileContents.new(contents)
28
28
  else
29
- raise ArgumentError.new(_("contents must be a String or Pathname, got a %{contents_class}") % { contents_class: contents.class })
29
+ raise ArgumentError, _("contents must be a String or Pathname, got a %{contents_class}") % { contents_class: contents.class }
30
30
  end
31
31
 
32
32
  @bucket_path = options.delete(:bucket_path)
33
33
  @checksum_type = Puppet[:digest_algorithm].to_sym
34
- raise ArgumentError.new(_("Unknown option(s): %{opts}") % { opts: options.keys.join(', ') }) unless options.empty?
34
+ raise ArgumentError, _("Unknown option(s): %{opts}") % { opts: options.keys.join(', ') } unless options.empty?
35
35
  end
36
36
 
37
37
  # @return [Num] The size of the contents
@@ -73,7 +73,7 @@ class Puppet::FileBucket::File
73
73
  end
74
74
 
75
75
  def self.from_binary(contents)
76
- self.new(contents)
76
+ new(contents)
77
77
  end
78
78
 
79
79
  class StringContents
@@ -102,7 +102,7 @@ class Puppet::FileBucket::File
102
102
  def to_binary
103
103
  # This is not so horrible as for FileContent, but still possible to mutate the content that the
104
104
  # checksum is based on... so semi horrible...
105
- return @contents;
105
+ @contents;
106
106
  end
107
107
  end
108
108
 
@@ -13,9 +13,9 @@ class Puppet::FileServing::Base
13
13
  # Does our file exist?
14
14
  def exist?
15
15
  stat
16
- return true
16
+ true
17
17
  rescue
18
- return false
18
+ false
19
19
  end
20
20
 
21
21
  # Return the full path to our file. Fails if there's no path set.
@@ -59,7 +59,7 @@ class Puppet::FileServing::Base
59
59
  attr_reader :path
60
60
 
61
61
  def path=(path)
62
- raise ArgumentError.new(_("Paths must be fully qualified")) unless Puppet::FileServing::Base.absolute?(path)
62
+ raise ArgumentError, _("Paths must be fully qualified") unless Puppet::FileServing::Base.absolute?(path)
63
63
 
64
64
  @path = path
65
65
  end
@@ -69,14 +69,14 @@ class Puppet::FileServing::Base
69
69
  attr_reader :relative_path
70
70
 
71
71
  def relative_path=(path)
72
- raise ArgumentError.new(_("Relative paths must not be fully qualified")) if Puppet::FileServing::Base.absolute?(path)
72
+ raise ArgumentError, _("Relative paths must not be fully qualified") if Puppet::FileServing::Base.absolute?(path)
73
73
 
74
74
  @relative_path = path
75
75
  end
76
76
 
77
77
  # Stat our file, using the appropriate link-sensitive method.
78
78
  def stat
79
- @stat_method ||= self.links == :manage ? :lstat : :stat
79
+ @stat_method ||= links == :manage ? :lstat : :stat
80
80
  Puppet::FileSystem.send(@stat_method, full_path)
81
81
  end
82
82
 
@@ -25,10 +25,10 @@ class Puppet::FileServing::Configuration::Parser
25
25
  when /^\s*#/; next # skip comments
26
26
  when /^\s*$/; next # skip blank lines
27
27
  when /\[([-\w]+)\]/
28
- mount = newmount($1)
28
+ mount = newmount(::Regexp.last_match(1))
29
29
  when /^\s*(\w+)\s+(.+?)(\s*#.*)?$/
30
- var = $1
31
- value = $2
30
+ var = ::Regexp.last_match(1)
31
+ value = ::Regexp.last_match(2)
32
32
  value.strip!
33
33
  raise(ArgumentError, _("Fileserver configuration file does not use '=' as a separator")) if value =~ /^=/
34
34
 
@@ -43,13 +43,13 @@ class Puppet::FileServing::Configuration::Parser
43
43
  end
44
44
  else
45
45
  error_location_str = Puppet::Util::Errors.error_location(@file.filename, @count)
46
- raise ArgumentError.new(_("Invalid argument '%{var}' at %{error_location}") %
47
- { var: var, error_location: error_location_str })
46
+ raise ArgumentError, _("Invalid argument '%{var}' at %{error_location}") %
47
+ { var: var, error_location: error_location_str }
48
48
  end
49
49
  else
50
50
  error_location_str = Puppet::Util::Errors.error_location(@file.filename, @count)
51
- raise ArgumentError.new(_("Invalid entry at %{error_location}: '%{file_text}'") %
52
- { file_text: line.chomp, error_location: error_location_str })
51
+ raise ArgumentError, _("Invalid entry at %{error_location}: '%{file_text}'") %
52
+ { file_text: line.chomp, error_location: error_location_str }
53
53
  end
54
54
  end
55
55
  end
@@ -73,8 +73,8 @@ class Puppet::FileServing::Configuration::Parser
73
73
  def newmount(name)
74
74
  if @mounts.include?(name)
75
75
  error_location_str = Puppet::Util::Errors.error_location(@file, @count)
76
- raise ArgumentError.new(_("%{mount} is already mounted at %{name} at %{error_location}") %
77
- { mount: @mounts[name], name: name, error_location: error_location_str })
76
+ raise ArgumentError, _("%{mount} is already mounted at %{name} at %{error_location}") %
77
+ { mount: @mounts[name], name: name, error_location: error_location_str }
78
78
  end
79
79
  case name
80
80
  when "modules"
@@ -56,7 +56,7 @@ class Puppet::FileServing::Configuration
56
56
 
57
57
  mount_name, path = request.key.split(File::Separator, 2)
58
58
 
59
- raise(ArgumentError, _("Cannot find file: Invalid mount '%{mount_name}'") % { mount_name: mount_name }) unless mount_name =~ %r{^[-\w]+$}
59
+ raise(ArgumentError, _("Cannot find file: Invalid mount '%{mount_name}'") % { mount_name: mount_name }) unless mount_name =~ /^[-\w]+$/
60
60
  raise(ArgumentError, _("Cannot find file: Invalid relative path '%{path}'") % { path: path }) if path and path.split('/').include?('..')
61
61
 
62
62
  mount = find_mount(mount_name, request.environment)
@@ -71,10 +71,10 @@ class Puppet::FileServing::Configuration
71
71
  path = nil
72
72
  elsif path
73
73
  # Remove any double slashes that might have occurred
74
- path = path.gsub(/\/+/, "/")
74
+ path = path.gsub(%r{/+}, "/")
75
75
  end
76
76
 
77
- return mount, path
77
+ [mount, path]
78
78
  end
79
79
 
80
80
  def umount(name)
@@ -29,11 +29,11 @@ class Puppet::FileServing::Fileset
29
29
  def initialize(path, options = {})
30
30
  if Puppet::Util::Platform.windows?
31
31
  # REMIND: UNC path
32
- path = path.chomp(File::SEPARATOR) unless path =~ /^[A-Za-z]:\/$/
32
+ path = path.chomp(File::SEPARATOR) unless path =~ %r{^[A-Za-z]:/$}
33
33
  else
34
34
  path = path.chomp(File::SEPARATOR) unless path == File::SEPARATOR
35
35
  end
36
- raise ArgumentError.new(_("Fileset paths must be fully qualified: %{path}") % { path: path }) unless Puppet::Util.absolute_path?(path)
36
+ raise ArgumentError, _("Fileset paths must be fully qualified: %{path}") % { path: path } unless Puppet::Util.absolute_path?(path)
37
37
 
38
38
  @path = path
39
39
 
@@ -50,9 +50,9 @@ class Puppet::FileServing::Fileset
50
50
  initialize_from_hash(options)
51
51
  end
52
52
 
53
- raise ArgumentError.new(_("Fileset paths must exist")) unless valid?(path)
53
+ raise ArgumentError, _("Fileset paths must exist") unless valid?(path)
54
54
  # TRANSLATORS "recurse" and "recurselimit" are parameter names and should not be translated
55
- raise ArgumentError.new(_("Fileset recurse parameter must not be a number anymore, please use recurselimit")) if @recurse.is_a?(Integer)
55
+ raise ArgumentError, _("Fileset recurse parameter must not be a number anymore, please use recurselimit") if @recurse.is_a?(Integer)
56
56
  end
57
57
 
58
58
  # Return a list of all files in our fileset. This is different from the
@@ -68,7 +68,7 @@ class Puppet::FileServing::Fileset
68
68
  munged_max_files = max_files == '-1' ? -1 : max_files
69
69
 
70
70
  if munged_max_files > 0 && files.size > munged_max_files
71
- raise Puppet::Error.new _("The directory '%{path}' contains %{entries} entries, which exceeds the limit of %{munged_max_files} specified by the max_files parameter for this resource. The limit may be increased, but be aware that large number of file resources can result in excessive resource consumption and degraded performance. Consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, munged_max_files: munged_max_files }
71
+ raise Puppet::Error, _("The directory '%{path}' contains %{entries} entries, which exceeds the limit of %{munged_max_files} specified by the max_files parameter for this resource. The limit may be increased, but be aware that large number of file resources can result in excessive resource consumption and degraded performance. Consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, munged_max_files: munged_max_files }
72
72
  elsif munged_max_files == 0 && files.size > soft_max_files
73
73
  Puppet.warning _("The directory '%{path}' contains %{entries} entries, which exceeds the default soft limit %{soft_max_files} and may cause excessive resource consumption and degraded performance. To remove this warning set a value for `max_files` parameter or consider using an alternate method to manage large directory trees") % { path: path, entries: files.size, soft_max_files: soft_max_files }
74
74
  end
@@ -104,8 +104,8 @@ class Puppet::FileServing::Fileset
104
104
  method = option.to_s + "="
105
105
  begin
106
106
  send(method, value)
107
- rescue NoMethodError
108
- raise ArgumentError, _("Invalid option '%{option}'") % { option: option }, $!.backtrace
107
+ rescue NoMethodError => e
108
+ raise ArgumentError, _("Invalid option '%{option}'") % { option: option }, e.backtrace
109
109
  end
110
110
  end
111
111
  end
@@ -165,11 +165,11 @@ class Puppet::FileServing::Fileset
165
165
  result = []
166
166
 
167
167
  while entry = current_dirs.shift # rubocop:disable Lint/AssignmentInCondition
168
- if continue_recursion_at?(entry.depth + 1)
169
- entry.children.each do |child|
170
- result << child.path
171
- current_dirs << child
172
- end
168
+ next unless continue_recursion_at?(entry.depth + 1)
169
+
170
+ entry.children.each do |child|
171
+ result << child.path
172
+ current_dirs << child
173
173
  end
174
174
  end
175
175
 
@@ -185,6 +185,6 @@ class Puppet::FileServing::Fileset
185
185
 
186
186
  def continue_recursion_at?(depth)
187
187
  # recurse if told to, and infinite recursion or current depth not at the limit
188
- self.recurse && (self.recurselimit == :infinite || depth <= self.recurselimit)
188
+ recurse && (recurselimit == :infinite || depth <= recurselimit)
189
189
  end
190
190
  end
@@ -20,7 +20,7 @@ class Puppet::FileServing::HttpMetadata < Puppet::FileServing::Metadata
20
20
  checksum = http_response['content-md5']
21
21
  if checksum
22
22
  # convert base64 digest to hex
23
- checksum = checksum.unpack("m").first.unpack("H*").first
23
+ checksum = checksum.unpack1("m").unpack1("H*")
24
24
  @checksums[:md5] = "{md5}#{checksum}"
25
25
  end
26
26
 
@@ -47,7 +47,7 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
47
47
 
48
48
  def initialize(stat, source_permissions)
49
49
  @stat = stat
50
- @source_permissions_ignore = (!source_permissions || source_permissions == :ignore)
50
+ @source_permissions_ignore = !source_permissions || source_permissions == :ignore
51
51
  end
52
52
 
53
53
  def owner
@@ -59,7 +59,7 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
59
59
  end
60
60
 
61
61
  def mode
62
- @source_permissions_ignore ? 0644 : @stat.mode
62
+ @source_permissions_ignore ? 0o644 : @stat.mode
63
63
  end
64
64
 
65
65
  def_delegators :@stat, :ftype
@@ -78,9 +78,9 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
78
78
 
79
79
  { :owner => 'S-1-5-32-544',
80
80
  :group => 'S-1-0-0',
81
- :mode => 0644 }.each do |method, default_value|
81
+ :mode => 0o644 }.each do |method, default_value|
82
82
  define_method method do
83
- return default_value
83
+ default_value
84
84
  end
85
85
  end
86
86
  end
@@ -107,20 +107,24 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
107
107
  @ftype = stat.ftype
108
108
 
109
109
  # We have to mask the mode, yay.
110
- @mode = stat.mode & 007777
110
+ @mode = stat.mode & 0o07777
111
111
 
112
112
  case stat.ftype
113
113
  when "file"
114
- @checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", real_path).to_s
114
+ @checksum = "{#{@checksum_type}}" + send("#{@checksum_type}_file", real_path).to_s
115
115
  when "directory" # Always just timestamp the directory.
116
116
  @checksum_type = "ctime"
117
- @checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", path).to_s
117
+ @checksum = "{#{@checksum_type}}" + send("#{@checksum_type}_file", path).to_s
118
118
  when "link"
119
119
  @destination = Puppet::FileSystem.readlink(real_path)
120
- @checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", real_path).to_s rescue nil
120
+ @checksum = begin
121
+ "{#{@checksum_type}}" + send("#{@checksum_type}_file", real_path).to_s
122
+ rescue
123
+ nil
124
+ end
121
125
  when "fifo", "socket"
122
126
  @checksum_type = "none"
123
- @checksum = ("{#{@checksum_type}}") + send("#{@checksum_type}_file", real_path).to_s
127
+ @checksum = "{#{@checksum_type}}" + send("#{@checksum_type}_file", real_path).to_s
124
128
  else
125
129
  raise ArgumentError, _("Cannot manage files of type %{file_type}") % { file_type: stat.ftype }
126
130
  end
@@ -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