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
@@ -76,7 +76,7 @@ module Puppet
76
76
  EOT
77
77
 
78
78
  validate do |value|
79
- if !value.is_a?(String)
79
+ unless value.is_a?(String)
80
80
  raise Puppet::Error, "The file mode specification must be a string, not '#{value.class.name}'"
81
81
  end
82
82
  unless value.nil? or valid_symbolic_mode?(value)
@@ -111,9 +111,9 @@ module Puppet
111
111
  def dirmask(value)
112
112
  if FileTest.directory?(resource[:path]) and value =~ /^\d+$/ then
113
113
  value = value.to_i(8)
114
- value |= 0100 if value & 0400 != 0
115
- value |= 010 if value & 040 != 0
116
- value |= 01 if value & 04 != 0
114
+ value |= 0o100 if value & 0o400 != 0
115
+ value |= 0o10 if value & 0o40 != 0
116
+ value |= 0o1 if value & 0o4 != 0
117
117
  value = value.to_s(8)
118
118
  end
119
119
 
@@ -131,10 +131,10 @@ module Puppet
131
131
  end
132
132
  stat = @resource.stat
133
133
  if stat && stat.ftype == "link" && @resource[:links] != :follow
134
- self.debug _("Not managing symlink mode")
135
- return true
134
+ debug _("Not managing symlink mode")
135
+ true
136
136
  else
137
- return super(currentvalue)
137
+ super(currentvalue)
138
138
  end
139
139
  end
140
140
 
@@ -153,7 +153,7 @@ module Puppet
153
153
  # been synced.
154
154
  def retrieve
155
155
  if @resource.stat
156
- @should &&= @should.collect { |s| self.dirmask(s) }
156
+ @should &&= @should.collect { |s| dirmask(s) }
157
157
  end
158
158
 
159
159
  super
@@ -163,7 +163,7 @@ module Puppet
163
163
  # don't have access to the calculated "desired" value here, or the
164
164
  # "current" value, only the "should" value we need to retrieve again.
165
165
  def sync
166
- current = @resource.stat ? @resource.stat.mode : 0644
166
+ current = @resource.stat ? @resource.stat.mode : 0o644
167
167
  set(desired_mode_from_current(@should[0], current).to_s(8))
168
168
  end
169
169
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Puppet
4
4
  Puppet::Type.type(:file).newproperty(:mtime) do
5
- desc %q{A read-only state to check the file mtime. On \*nix-like systems, this
6
- is the time of the most recent change to the content of the file.}
5
+ desc %q(A read-only state to check the file mtime. On \*nix-like systems, this
6
+ is the time of the most recent change to the content of the file.)
7
7
 
8
8
  def retrieve
9
9
  current_value = :absent
@@ -30,10 +30,10 @@ module Puppet
30
30
  def retrieve
31
31
  return :absent unless @resource.stat
32
32
 
33
- context = self.get_selinux_current_context(@resource[:path])
33
+ context = get_selinux_current_context(@resource[:path])
34
34
  is = parse_selinux_context(name, context)
35
35
  if name == :selrange and selinux_support?
36
- self.selinux_category_to_label(is)
36
+ selinux_category_to_label(is)
37
37
  else
38
38
  is
39
39
  end
@@ -44,21 +44,21 @@ module Puppet
44
44
  return nil
45
45
  end
46
46
 
47
- context = self.get_selinux_default_context(@resource[:path], @resource[:ensure])
47
+ context = get_selinux_default_context(@resource[:path], @resource[:ensure])
48
48
  unless context
49
49
  return nil
50
50
  end
51
51
 
52
- property_default = self.parse_selinux_context(property, context)
53
- self.debug "Found #{property} default '#{property_default}' for #{@resource[:path]}" if not property_default.nil?
52
+ property_default = parse_selinux_context(property, context)
53
+ debug "Found #{property} default '#{property_default}' for #{@resource[:path]}" unless property_default.nil?
54
54
  property_default
55
55
  end
56
56
 
57
57
  def insync?(value)
58
- if not selinux_support?
58
+ if !selinux_support?
59
59
  debug("SELinux bindings not found. Ignoring parameter.")
60
60
  true
61
- elsif not selinux_label_support?(@resource[:path])
61
+ elsif !selinux_label_support?(@resource[:path])
62
62
  debug("SELinux not available for this filesystem. Ignoring parameter.")
63
63
  true
64
64
  else
@@ -67,19 +67,19 @@ module Puppet
67
67
  end
68
68
 
69
69
  def unsafe_munge(should)
70
- if not selinux_support?
70
+ unless selinux_support?
71
71
  return should
72
72
  end
73
73
 
74
74
  if name == :selrange
75
- self.selinux_category_to_label(should)
75
+ selinux_category_to_label(should)
76
76
  else
77
77
  should
78
78
  end
79
79
  end
80
80
 
81
81
  def sync
82
- self.set_selinux_context(@resource[:path], @should, name)
82
+ set_selinux_context(@resource[:path], @should, name)
83
83
  :file_changed
84
84
  end
85
85
  end
@@ -103,7 +103,7 @@ module Puppet
103
103
  enabled."
104
104
 
105
105
  @event = :file_changed
106
- defaultto { self.retrieve_default_context(:seluser) }
106
+ defaultto { retrieve_default_context(:seluser) }
107
107
  end
108
108
 
109
109
  Puppet::Type.type(:file).newproperty(:selrole, :parent => Puppet::SELFileContext) do
@@ -114,7 +114,7 @@ module Puppet
114
114
  enabled."
115
115
 
116
116
  @event = :file_changed
117
- defaultto { self.retrieve_default_context(:selrole) }
117
+ defaultto { retrieve_default_context(:selrole) }
118
118
  end
119
119
 
120
120
  Puppet::Type.type(:file).newproperty(:seltype, :parent => Puppet::SELFileContext) do
@@ -125,7 +125,7 @@ module Puppet
125
125
  enabled."
126
126
 
127
127
  @event = :file_changed
128
- defaultto { self.retrieve_default_context(:seltype) }
128
+ defaultto { retrieve_default_context(:seltype) }
129
129
  end
130
130
 
131
131
  Puppet::Type.type(:file).newproperty(:selrange, :parent => Puppet::SELFileContext) do
@@ -137,6 +137,6 @@ module Puppet
137
137
  Security)."
138
138
 
139
139
  @event = :file_changed
140
- defaultto { self.retrieve_default_context(:selrange) }
140
+ defaultto { retrieve_default_context(:selrange) }
141
141
  end
142
142
  end
@@ -96,7 +96,7 @@ module Puppet
96
96
 
97
97
  self.fail "Cannot use relative URLs '#{source}'" unless uri.absolute?
98
98
  self.fail "Cannot use opaque URLs '#{source}'" unless uri.hierarchical?
99
- unless %w{file puppet http https}.include?(uri.scheme)
99
+ unless %w[file puppet http https].include?(uri.scheme)
100
100
  self.fail "Cannot use URLs of type '#{uri.scheme}' as source for fileserving"
101
101
  end
102
102
  end
@@ -130,9 +130,9 @@ module Puppet
130
130
  def change_to_s(currentvalue, newvalue)
131
131
  # newvalue = "{md5}#{@metadata.checksum}"
132
132
  if resource.property(:ensure).retrieve == :absent
133
- return "creating from source #{metadata.source} with contents #{metadata.checksum}"
133
+ "creating from source #{metadata.source} with contents #{metadata.checksum}"
134
134
  else
135
- return "replacing from source #{metadata.source} with contents #{metadata.checksum}"
135
+ "replacing from source #{metadata.source} with contents #{metadata.checksum}"
136
136
  end
137
137
  end
138
138
 
@@ -189,25 +189,23 @@ module Puppet
189
189
  return nil unless value
190
190
 
191
191
  value.each do |source|
192
- begin
193
- options = {
194
- :environment => resource.catalog.environment_instance,
195
- :links => resource[:links],
196
- :checksum_type => resource[:checksum],
197
- :source_permissions => resource[:source_permissions]
198
- }
192
+ options = {
193
+ :environment => resource.catalog.environment_instance,
194
+ :links => resource[:links],
195
+ :checksum_type => resource[:checksum],
196
+ :source_permissions => resource[:source_permissions]
197
+ }
199
198
 
200
- data = Puppet::FileServing::Metadata.indirection.find(source, options)
201
- if data
202
- @metadata = data
203
- @metadata.source = source
204
- break
205
- end
206
- rescue => detail
207
- self.fail Puppet::Error, "Could not retrieve file metadata for #{source}: #{detail}", detail
199
+ data = Puppet::FileServing::Metadata.indirection.find(source, options)
200
+ if data
201
+ @metadata = data
202
+ @metadata.source = source
203
+ break
208
204
  end
205
+ rescue => detail
206
+ self.fail Puppet::Error, "Could not retrieve file metadata for #{source}: #{detail}", detail
209
207
  end
210
- self.fail "Could not retrieve information from environment #{resource.catalog.environment} source(s) #{value.join(", ")}" unless @metadata
208
+ self.fail "Could not retrieve information from environment #{resource.catalog.environment} source(s) #{value.join(', ')}" unless @metadata
211
209
  @metadata
212
210
  end
213
211
 
@@ -266,7 +264,7 @@ module Puppet
266
264
  value = value.to_s(8) if param_name == :mode && value.is_a?(Numeric)
267
265
  resource[param_name] = value
268
266
 
269
- if (metadata_method == :checksum)
267
+ if metadata_method == :checksum
270
268
  # If copying checksum, also copy checksum_type
271
269
  resource[:checksum] = metadata.checksum_type
272
270
  end
@@ -317,7 +315,7 @@ module Puppet
317
315
  def get_from_http_source(url, &block)
318
316
  client = Puppet.runtime[:http]
319
317
  client.get(url, options: { include_system_store: true }) do |response|
320
- raise Puppet::HTTP::ResponseError.new(response) unless response.success?
318
+ raise Puppet::HTTP::ResponseError, response unless response.success?
321
319
 
322
320
  response.read_body(&block)
323
321
  end
@@ -25,7 +25,7 @@ module Puppet
25
25
 
26
26
  # Anything else, basically
27
27
  newvalue(/./) do
28
- @resource[:ensure] = :link if !@resource.should(:ensure)
28
+ @resource[:ensure] = :link unless @resource.should(:ensure)
29
29
 
30
30
  # Only call mklink if ensure didn't call us in the first place.
31
31
  currentensure = @resource.property(:ensure).retrieve
@@ -34,9 +34,9 @@ module Puppet
34
34
 
35
35
  # Create our link.
36
36
  def mklink
37
- raise Puppet::Error, "Cannot symlink on this platform version" if !provider.feature?(:manages_symlinks)
37
+ raise Puppet::Error, "Cannot symlink on this platform version" unless provider.feature?(:manages_symlinks)
38
38
 
39
- target = self.should
39
+ target = should
40
40
 
41
41
  # Clean up any existing objects. The argument is just for logging,
42
42
  # it doesn't determine what's removed.
@@ -48,7 +48,7 @@ module Puppet
48
48
  Puppet::Util::SUIDManager.asuser(@resource.asuser) do
49
49
  mode = @resource.should(:mode)
50
50
  if mode
51
- Puppet::Util.withumask(000) do
51
+ Puppet::Util.withumask(0o00) do
52
52
  Puppet::FileSystem.symlink(target, @resource[:path])
53
53
  end
54
54
  else
@@ -63,12 +63,12 @@ module Puppet
63
63
  end
64
64
 
65
65
  def insync?(currentvalue)
66
- if [:nochange, :notlink].include?(self.should) or @resource.recurse?
67
- return true
66
+ if [:nochange, :notlink].include?(should) or @resource.recurse?
67
+ true
68
68
  elsif !@resource.replace? and Puppet::FileSystem.exist?(@resource[:path])
69
- return true
69
+ true
70
70
  else
71
- return super(currentvalue)
71
+ super(currentvalue)
72
72
  end
73
73
  end
74
74
 
@@ -76,12 +76,12 @@ module Puppet
76
76
  stat = @resource.stat
77
77
  if stat
78
78
  if stat.ftype == "link"
79
- return Puppet::FileSystem.readlink(@resource[:path])
79
+ Puppet::FileSystem.readlink(@resource[:path])
80
80
  else
81
- return :notlink
81
+ :notlink
82
82
  end
83
83
  else
84
- return :absent
84
+ :absent
85
85
  end
86
86
  end
87
87
  end
@@ -264,7 +264,7 @@ Puppet::Type.newtype(:file) do
264
264
 
265
265
  validate do |value|
266
266
  unless value.is_a?(Array) or value.is_a?(String) or value == false
267
- self.devfail "Ignore must be a string or an Array"
267
+ devfail "Ignore must be a string or an Array"
268
268
  end
269
269
  end
270
270
  end
@@ -387,7 +387,7 @@ Puppet::Type.newtype(:file) do
387
387
  autorequire(:file) do
388
388
  req = []
389
389
  path = Pathname.new(self[:path])
390
- if !path.root?
390
+ unless path.root?
391
391
  # Start at our parent, to avoid autorequiring ourself
392
392
  parents = path.parent.enum_for(:ascend)
393
393
  found = parents.find { |p| catalog.resource(:file, p.to_s) }
@@ -432,7 +432,7 @@ Puppet::Type.newtype(:file) do
432
432
  end
433
433
  creator_count += 1 if @parameters.include?(:source)
434
434
 
435
- self.fail _("You cannot specify more than one of %{creators}") % { creators: CREATORS.collect { |p| p.to_s }.join(", ") } if creator_count > 1
435
+ self.fail _("You cannot specify more than one of %{creators}") % { creators: CREATORS.collect(&:to_s).join(", ") } if creator_count > 1
436
436
 
437
437
  self.fail _("You cannot specify a remote recursion without a source") if !self[:source] && self[:recurse] == :remote
438
438
 
@@ -442,7 +442,7 @@ Puppet::Type.newtype(:file) do
442
442
  self.fail _("You cannot specify content when using checksum '%{checksum_type}'") % { checksum_type: checksum_type } if self[:checksum] == checksum_type && !self[:content].nil?
443
443
  end
444
444
 
445
- self.warning _("Possible error: recurselimit is set but not recurse, no recursion will happen") if !self[:recurse] && self[:recurselimit]
445
+ warning _("Possible error: recurselimit is set but not recurse, no recursion will happen") if !self[:recurse] && self[:recurselimit]
446
446
 
447
447
  if @parameters[:content] && @parameters[:content].actual_content
448
448
  # Now that we know the checksum, update content (in case it was created before checksum was known).
@@ -453,7 +453,7 @@ Puppet::Type.newtype(:file) do
453
453
  self.fail _("Checksum value '%{value}' is not a valid checksum type %{checksum}") % { value: self[:checksum_value], checksum: self[:checksum] }
454
454
  end
455
455
 
456
- self.warning _("Checksum value is ignored unless content or source are specified") if self[:checksum_value] && !self[:content] && !self[:source]
456
+ warning _("Checksum value is ignored unless content or source are specified") if self[:checksum_value] && !self[:content] && !self[:source]
457
457
 
458
458
  provider.validate if provider.respond_to?(:validate)
459
459
  end
@@ -461,11 +461,11 @@ Puppet::Type.newtype(:file) do
461
461
  def self.[](path)
462
462
  return nil unless path
463
463
 
464
- super(path.gsub(/\/+/, '/').sub(/\/$/, ''))
464
+ super(path.gsub(%r{/+}, '/').sub(%r{/$}, ''))
465
465
  end
466
466
 
467
467
  def self.instances
468
- return []
468
+ []
469
469
  end
470
470
 
471
471
  # Determine the user to write files as.
@@ -531,7 +531,7 @@ Puppet::Type.newtype(:file) do
531
531
 
532
532
  # Create any children via recursion or whatever.
533
533
  def eval_generate
534
- return [] unless self.recurse?
534
+ return [] unless recurse?
535
535
 
536
536
  recurse
537
537
  end
@@ -616,12 +616,12 @@ Puppet::Type.newtype(:file) do
616
616
  # Remove the parent file name
617
617
  list = parent.pathbuilder
618
618
  list.pop # remove the parent's path info
619
- return list << self.ref
619
+ list << ref
620
620
  else
621
- return super
621
+ super
622
622
  end
623
623
  else
624
- return [self.ref]
624
+ [ref]
625
625
  end
626
626
  end
627
627
 
@@ -639,7 +639,7 @@ Puppet::Type.newtype(:file) do
639
639
 
640
640
  # If we're purging resources, then delete any resource that isn't on the
641
641
  # remote system.
642
- mark_children_for_purging(children) if self.purge?
642
+ mark_children_for_purging(children) if purge?
643
643
 
644
644
  result = children.values.sort_by { |a| a[:path] }
645
645
  remove_less_specific_files(result)
@@ -800,7 +800,7 @@ Puppet::Type.newtype(:file) do
800
800
  if can_backup?(current_type)
801
801
  backup_existing
802
802
  else
803
- self.warning _("Could not back up file of type %{current_type}") % { current_type: current_type }
803
+ warning _("Could not back up file of type %{current_type}") % { current_type: current_type }
804
804
  end
805
805
  end
806
806
 
@@ -810,9 +810,9 @@ Puppet::Type.newtype(:file) do
810
810
 
811
811
  case current_type
812
812
  when "directory"
813
- return remove_directory(wanted_type)
813
+ remove_directory(wanted_type)
814
814
  when "link", "file", "fifo", "socket"
815
- return remove_file(current_type, wanted_type)
815
+ remove_file(current_type, wanted_type)
816
816
  else
817
817
  # Including: “blockSpecial”, “characterSpecial”, “unknown”
818
818
  self.fail _("Could not remove files of type %{current_type}") % { current_type: current_type }
@@ -827,13 +827,13 @@ Puppet::Type.newtype(:file) do
827
827
  [:use, :use_when_creating].include?(self[:source_permissions])
828
828
  # TRANSLATORS "source_permissions => ignore" should not be translated
829
829
  err_msg = _("Copying owner/mode/group from the source file on Windows is not supported; use source_permissions => ignore.")
830
- if self[:owner] == nil || self[:group] == nil || self[:mode] == nil
830
+ if self[:owner].nil? || self[:group].nil? || self[:mode].nil?
831
831
  # Fail on Windows if source permissions are being used and the file resource
832
832
  # does not have mode owner, group, and mode all set (which would take precedence).
833
833
  self.fail err_msg
834
834
  else
835
835
  # Warn if use source permissions is specified on Windows
836
- self.warning err_msg
836
+ warning err_msg
837
837
  end
838
838
  end
839
839
 
@@ -898,7 +898,7 @@ Puppet::Type.newtype(:file) do
898
898
  method = :stat
899
899
 
900
900
  # Files are the only types that support links
901
- if (self.instance_of?(Puppet::Type::File) and self[:links] != :follow)
901
+ if instance_of?(Puppet::Type::File) and self[:links] != :follow
902
902
  method = :lstat
903
903
  end
904
904
 
@@ -937,7 +937,7 @@ Puppet::Type.newtype(:file) do
937
937
  validate_callback = proc { |path|
938
938
  output = Puppet::Util::Execution.execute(self[:validate_cmd].gsub(self[:validate_replacement], path), :failonfail => true, :combine => true)
939
939
  output.split(/\n/).each { |line|
940
- self.debug(line)
940
+ debug(line)
941
941
  }
942
942
  }
943
943
  end
@@ -962,7 +962,7 @@ Puppet::Type.newtype(:file) do
962
962
  fail_if_checksum_is_wrong(property, file.path, content_checksum)
963
963
  end
964
964
  else
965
- umask = mode ? 000 : 022
965
+ umask = mode ? 0o00 : 0o22
966
966
  Puppet::Util.withumask(umask) { ::File.open(self[:path], 'wb', mode_int) { |f| property.write(f) if property } }
967
967
  end
968
968
 
@@ -972,7 +972,7 @@ Puppet::Type.newtype(:file) do
972
972
 
973
973
  private
974
974
 
975
- # Carry the context of sensitive parameters to the the properties that will actually handle that
975
+ # Carry the context of sensitive parameters to the properties that will actually handle that
976
976
  # sensitive data.
977
977
  #
978
978
  # The file type can accept file content from a number of origins and depending on the current
@@ -75,7 +75,7 @@ module Puppet
75
75
  raise ArgumentError, _("You can only have one filebucket path")
76
76
  end
77
77
 
78
- if value.is_a? String and not Puppet::Util.absolute_path?(value)
78
+ if value.is_a? String and !Puppet::Util.absolute_path?(value)
79
79
  raise ArgumentError, _("Filebucket paths must be absolute")
80
80
  end
81
81
 
@@ -113,11 +113,11 @@ module Puppet
113
113
  @bucket = Puppet::FileBucket::Dipper.new(args)
114
114
  rescue => detail
115
115
  message = _("Could not create %{type} filebucket: %{detail}") % { type: type, detail: detail }
116
- self.log_exception(detail, message)
116
+ log_exception(detail, message)
117
117
  self.fail(message)
118
118
  end
119
119
 
120
- @bucket.name = self.name
120
+ @bucket.name = name
121
121
  end
122
122
  end
123
123
  end
@@ -56,10 +56,10 @@ module Puppet
56
56
  end
57
57
 
58
58
  def sync
59
- if self.should == :absent
59
+ if should == :absent
60
60
  raise Puppet::DevError, _("GID cannot be deleted")
61
61
  else
62
- provider.gid = self.should
62
+ provider.gid = should
63
63
  end
64
64
  end
65
65
 
@@ -73,7 +73,7 @@ module Puppet
73
73
  end
74
74
  when Symbol
75
75
  unless gid == :absent
76
- self.devfail "Invalid GID #{gid}"
76
+ devfail "Invalid GID #{gid}"
77
77
  end
78
78
  end
79
79
 
@@ -12,14 +12,14 @@ module Puppet
12
12
  newproperty(:message, :idempotent => false) do
13
13
  desc "The message to be sent to the log. Note that the value specified must be a string."
14
14
  def sync
15
- message = @sensitive ? 'Sensitive [value redacted]' : self.should
15
+ message = @sensitive ? 'Sensitive [value redacted]' : should
16
16
  case @resource["withpath"]
17
17
  when :true
18
18
  send(@resource[:loglevel], message)
19
19
  else
20
20
  Puppet.send(@resource[:loglevel], message)
21
21
  end
22
- return
22
+ nil
23
23
  end
24
24
 
25
25
  def retrieve
@@ -119,7 +119,7 @@ module Puppet
119
119
  # Because yum always exits with a 0 exit code, there's a retrieve
120
120
  # in the "install" method. So, check the current state now,
121
121
  # to compare against later.
122
- current = self.retrieve
122
+ current = retrieve
123
123
  begin
124
124
  provider.update
125
125
  rescue => detail
@@ -140,7 +140,7 @@ module Puppet
140
140
  self.fail Puppet::Error, _("Could not update: %{detail}") % { detail: detail }, detail
141
141
  end
142
142
 
143
- if self.retrieve == :absent
143
+ if retrieve == :absent
144
144
  :package_installed
145
145
  else
146
146
  :package_changed
@@ -188,7 +188,7 @@ module Puppet
188
188
  # that can't query versions.
189
189
  return true
190
190
  else
191
- self.debug "#{@resource.name} #{is.inspect} is installed, latest is #{@latest.inspect}"
191
+ debug "#{@resource.name} #{is.inspect} is installed, latest is #{@latest.inspect}"
192
192
  end
193
193
 
194
194
  when :absent
@@ -270,7 +270,7 @@ module Puppet
270
270
  isnamevar
271
271
 
272
272
  validate do |value|
273
- if !value.is_a?(String)
273
+ unless value.is_a?(String)
274
274
  raise ArgumentError, _("Name must be a String not %{klass}") % { klass: value.class }
275
275
  end
276
276
  end
@@ -18,7 +18,7 @@ Puppet::Type.newtype(:resources) do
18
18
  raise ArgumentError, _("Could not find resource type '%{name}'") % { name: name } unless Puppet::Type.type(name)
19
19
  end
20
20
 
21
- munge { |v| v.to_s }
21
+ munge(&:to_s)
22
22
  end
23
23
 
24
24
  newparam(:purge, :boolean => true, :parent => Puppet::Parameter::Boolean) do
@@ -100,9 +100,9 @@ Puppet::Type.newtype(:resources) do
100
100
  @checkmethod ||= "#{self[:name]}_check"
101
101
  @hascheck ||= respond_to?(@checkmethod)
102
102
  if @hascheck
103
- return send(@checkmethod, resource)
103
+ send(@checkmethod, resource)
104
104
  else
105
- return true
105
+ true
106
106
  end
107
107
  end
108
108
 
@@ -116,7 +116,7 @@ Puppet::Type.newtype(:resources) do
116
116
  # Generate any new resources we need to manage. This is pretty hackish
117
117
  # right now, because it only supports purging.
118
118
  def generate
119
- return [] unless self.purge?
119
+ return [] unless purge?
120
120
 
121
121
  resource_type.instances
122
122
  .reject { |r| catalog.resource_refs.include? r.ref }
@@ -163,7 +163,7 @@ Puppet::Type.newtype(:resources) do
163
163
  end
164
164
 
165
165
  def system_users
166
- %w{root nobody bin noaccess daemon sys}
166
+ %w[root nobody bin noaccess daemon sys]
167
167
  end
168
168
 
169
169
  def self.system_users_max_uid
@@ -172,7 +172,7 @@ Puppet::Type.newtype(:resources) do
172
172
  # First try to read the minimum user id from login.defs
173
173
  if Puppet::FileSystem.exist?('/etc/login.defs')
174
174
  @system_users_max_uid = Puppet::FileSystem.each_line '/etc/login.defs' do |line|
175
- break $1.to_i - 1 if line =~ /^\s*UID_MIN\s+(\d+)(\s*#.*)?$/
175
+ break Regexp.last_match(1).to_i - 1 if line =~ /^\s*UID_MIN\s+(\d+)(\s*#.*)?$/
176
176
  end
177
177
  end
178
178
 
@@ -116,7 +116,7 @@ module Puppet
116
116
  # Split each range value into a hour, minute, second triad
117
117
  value.split(/\s*-\s*/).each { |val|
118
118
  # Add the values as an array.
119
- range << val.split(":").collect { |n| n.to_i }
119
+ range << val.split(":").collect(&:to_i)
120
120
  }
121
121
 
122
122
  self.fail _("Invalid range %{value}") % { value: value } if range.length != 2
@@ -232,9 +232,9 @@ module Puppet
232
232
 
233
233
  ScheduleScales = {
234
234
  :hourly => 3600,
235
- :daily => 86400,
236
- :weekly => 604800,
237
- :monthly => 2592000
235
+ :daily => 86_400,
236
+ :weekly => 604_800,
237
+ :monthly => 2_592_000
238
238
  }
239
239
  ScheduleMethods = {
240
240
  :hourly => :hour,
@@ -255,10 +255,10 @@ module Puppet
255
255
  when :number
256
256
  method = ScheduleMethods[value]
257
257
  if method.is_a?(Proc)
258
- return method.call(previous, now)
258
+ method.call(previous, now)
259
259
  else
260
260
  # We negate it, because if they're equal we don't run
261
- return now.send(method) != previous.send(method)
261
+ now.send(method) != previous.send(method)
262
262
  end
263
263
  when :distance
264
264
  scale = ScheduleScales[value]
@@ -267,7 +267,7 @@ module Puppet
267
267
  # than the unit of time, we match. We divide the scale
268
268
  # by the repeat, so that we'll repeat that often within
269
269
  # the scale.
270
- return (now.to_i - previous.to_i) >= (scale / @resource[:repeat])
270
+ (now.to_i - previous.to_i) >= (scale / @resource[:repeat])
271
271
  end
272
272
  end
273
273
  end
@@ -401,7 +401,7 @@ module Puppet
401
401
 
402
402
  Puppet.debug "Creating default schedules"
403
403
 
404
- result << self.new(
404
+ result << new(
405
405
  :name => "puppet",
406
406
  :period => :hourly,
407
407
 
@@ -410,7 +410,7 @@ module Puppet
410
410
 
411
411
  # And then one for every period
412
412
  @parameters.find { |p| p.name == :period }.value_collection.values.each { |value|
413
- result << self.new(
413
+ result << new(
414
414
  :name => value.to_s,
415
415
  :period => value
416
416
  )