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
@@ -37,37 +37,33 @@ class Puppet::Util::FileType
37
37
  # Rename the read method
38
38
  define_method(:real_read, instance_method(:read))
39
39
  define_method(:read) do
40
- begin
41
- val = real_read
42
- @loaded = Time.now
43
- if val
44
- return val.gsub(/# HEADER.*\n/, '')
45
- else
46
- return ""
47
- end
48
- rescue Puppet::Error
49
- raise
50
- rescue => detail
51
- message = _("%{klass} could not read %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
52
- Puppet.log_exception(detail, message)
53
- raise Puppet::Error, message, detail.backtrace
40
+ val = real_read
41
+ @loaded = Time.now
42
+ if val
43
+ val.gsub(/# HEADER.*\n/, '')
44
+ else
45
+ ""
54
46
  end
47
+ rescue Puppet::Error
48
+ raise
49
+ rescue => detail
50
+ message = _("%{klass} could not read %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
51
+ Puppet.log_exception(detail, message)
52
+ raise Puppet::Error, message, detail.backtrace
55
53
  end
56
54
 
57
55
  # And then the write method
58
56
  define_method(:real_write, instance_method(:write))
59
57
  define_method(:write) do |text|
60
- begin
61
- val = real_write(text)
62
- @synced = Time.now
63
- return val
64
- rescue Puppet::Error
65
- raise
66
- rescue => detail
67
- message = _("%{klass} could not write %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
68
- Puppet.log_exception(detail, message)
69
- raise Puppet::Error, message, detail.backtrace
70
- end
58
+ val = real_write(text)
59
+ @synced = Time.now
60
+ val
61
+ rescue Puppet::Error
62
+ raise
63
+ rescue => detail
64
+ message = _("%{klass} could not write %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
65
+ Puppet.log_exception(detail, message)
66
+ raise Puppet::Error, message, detail.backtrace
71
67
  end
72
68
  end
73
69
  end
@@ -82,7 +78,7 @@ class Puppet::Util::FileType
82
78
  end
83
79
 
84
80
  def initialize(path, default_mode = nil)
85
- raise ArgumentError.new(_("Path is nil")) if path.nil?
81
+ raise ArgumentError, _("Path is nil") if path.nil?
86
82
 
87
83
  @path = path
88
84
  @default_mode = default_mode
@@ -114,7 +110,7 @@ class Puppet::Util::FileType
114
110
  # being explicitly preserved
115
111
  Puppet::FileSystem.read(@path, :encoding => Encoding.default_external)
116
112
  else
117
- return nil
113
+ nil
118
114
  end
119
115
  end
120
116
 
@@ -206,11 +202,11 @@ class Puppet::Util::FileType
206
202
  rescue => detail
207
203
  case detail.to_s
208
204
  when /no crontab for/
209
- return ""
205
+ ""
210
206
  when /are not allowed to/
211
207
  Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
212
208
 
213
- return ""
209
+ ""
214
210
  else
215
211
  raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
216
212
  end
@@ -219,7 +215,7 @@ class Puppet::Util::FileType
219
215
  # Remove a specific @path's cron tab.
220
216
  def remove
221
217
  cmd = "#{cmdbase} -r"
222
- if %w{Darwin FreeBSD DragonFly}.include?(Puppet.runtime[:facter].value('os.name'))
218
+ if %w[Darwin FreeBSD DragonFly].include?(Puppet.runtime[:facter].value('os.name'))
223
219
  cmd = "/bin/echo yes | #{cmd}"
224
220
  end
225
221
 
@@ -249,9 +245,9 @@ class Puppet::Util::FileType
249
245
  # does not think I should be allowed to set the @path to my own user name
250
246
  def cmdbase
251
247
  if @uid == Puppet::Util::SUIDManager.uid || Puppet.runtime[:facter].value('os.name') == "HP-UX"
252
- return "crontab"
248
+ "crontab"
253
249
  else
254
- return "crontab -u #{@path}"
250
+ "crontab -u #{@path}"
255
251
  end
256
252
  end
257
253
  end
@@ -267,15 +263,15 @@ class Puppet::Util::FileType
267
263
  return ""
268
264
  end
269
265
 
270
- Puppet::Util::Execution.execute(%w{crontab -l}, cronargs)
266
+ Puppet::Util::Execution.execute(%w[crontab -l], cronargs)
271
267
  rescue => detail
272
268
  case detail.to_s
273
269
  when /can't open your crontab/
274
- return ""
270
+ ""
275
271
  when /you are not authorized to use cron/
276
272
  Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
277
273
 
278
- return ""
274
+ ""
279
275
  else
280
276
  raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
281
277
  end
@@ -283,7 +279,7 @@ class Puppet::Util::FileType
283
279
 
284
280
  # Remove a specific @path's cron tab.
285
281
  def remove
286
- Puppet::Util::Execution.execute(%w{crontab -r}, cronargs)
282
+ Puppet::Util::Execution.execute(%w[crontab -r], cronargs)
287
283
  rescue => detail
288
284
  raise FileReadError, _("Could not remove crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
289
285
  end
@@ -318,15 +314,15 @@ class Puppet::Util::FileType
318
314
  return ""
319
315
  end
320
316
 
321
- Puppet::Util::Execution.execute(%w{crontab -l}, cronargs)
317
+ Puppet::Util::Execution.execute(%w[crontab -l], cronargs)
322
318
  rescue => detail
323
319
  case detail.to_s
324
320
  when /open.*in.*directory/
325
- return ""
321
+ ""
326
322
  when /not.*authorized.*cron/
327
323
  Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
328
324
 
329
- return ""
325
+ ""
330
326
  else
331
327
  raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
332
328
  end
@@ -334,7 +330,7 @@ class Puppet::Util::FileType
334
330
 
335
331
  # Remove a specific @path's cron tab.
336
332
  def remove
337
- Puppet::Util::Execution.execute(%w{crontab -r}, cronargs)
333
+ Puppet::Util::Execution.execute(%w[crontab -r], cronargs)
338
334
  rescue => detail
339
335
  raise FileReadError, _("Could not remove crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
340
336
  end
@@ -73,7 +73,7 @@ module Puppet::Util::IniConfig
73
73
  # exists, return nil
74
74
  def [](key)
75
75
  entry = find_entry(key)
76
- return(entry.nil? ? nil : entry[1])
76
+ (entry.nil? ? nil : entry[1])
77
77
  end
78
78
 
79
79
  # Format the section as text in the way it should be
@@ -150,7 +150,7 @@ module Puppet::Util::IniConfig
150
150
  )
151
151
  INI_CONTINUATION = /^[ \t\r\n\f]/
152
152
  INI_SECTION_NAME = /^\[([^\]]+)\]/
153
- INI_PROPERTY = /^\s*([^\s=]+)\s*\=\s*(.*)$/
153
+ INI_PROPERTY = /^\s*([^\s=]+)\s*=\s*(.*)$/
154
154
 
155
155
  # @api private
156
156
  def parse(text)
@@ -184,7 +184,7 @@ module Puppet::Util::IniConfig
184
184
  val = match[2].rstrip
185
185
 
186
186
  if section.nil?
187
- raise IniParseError.new(_("Property with key %{key} outside of a section") % { key: key.inspect })
187
+ raise IniParseError, _("Property with key %{key} outside of a section") % { key: key.inspect }
188
188
  end
189
189
 
190
190
  section[key] = val
@@ -251,7 +251,7 @@ module Puppet::Util::IniConfig
251
251
  private
252
252
 
253
253
  def section_exists?(name)
254
- if self.get_section(name)
254
+ if get_section(name)
255
255
  true
256
256
  elsif @file_collection and @file_collection.get_section(name)
257
257
  true
@@ -275,9 +275,7 @@ module Puppet::Util::IniConfig
275
275
  end
276
276
 
277
277
  def store
278
- @files.values.each do |file|
279
- file.store
280
- end
278
+ @files.values.each(&:store)
281
279
  end
282
280
 
283
281
  def each_section(&block)
@@ -318,11 +316,7 @@ module Puppet::Util::IniConfig
318
316
  # Return a file if it's already been defined, create a new file if it hasn't
319
317
  # been defined.
320
318
  def get_physical_file(file)
321
- if @files[file]
322
- @files[file]
323
- else
324
- new_physical_file(file)
325
- end
319
+ @files[file] || new_physical_file(file)
326
320
  end
327
321
 
328
322
  # Create a new physical file and set required attributes on that file.
@@ -48,7 +48,7 @@ class Puppet::Util::Ldap::Connection
48
48
 
49
49
  # Create a per-connection unique name.
50
50
  def name
51
- [host, port, user, password, ssl].collect { |p| p.to_s }.join("/")
51
+ [host, port, user, password, ssl].collect(&:to_s).join("/")
52
52
  end
53
53
 
54
54
  # Should we reset the connection?
@@ -31,7 +31,7 @@ class Puppet::Util::Ldap::Manager
31
31
  attributes = attributes.dup
32
32
 
33
33
  # Add the objectclasses
34
- attributes["objectClass"] = objectclasses.collect { |o| o.to_s }
34
+ attributes["objectClass"] = objectclasses.collect(&:to_s)
35
35
  attributes["objectClass"] << "top" unless attributes["objectClass"].include?("top")
36
36
 
37
37
  attributes[rdn.to_s] = [name]
@@ -109,21 +109,19 @@ class Puppet::Util::Ldap::Manager
109
109
 
110
110
  # Create our normal search filter.
111
111
  def filter
112
- return(objectclasses.length == 1 ? "objectclass=#{objectclasses[0]}" : "(&(objectclass=" + objectclasses.join(")(objectclass=") + "))")
112
+ (objectclasses.length == 1 ? "objectclass=#{objectclasses[0]}" : "(&(objectclass=" + objectclasses.join(")(objectclass=") + "))")
113
113
  end
114
114
 
115
115
  # Find the associated entry for a resource. Returns a hash, minus
116
116
  # 'dn', or nil if the entry cannot be found.
117
117
  def find(name)
118
118
  connect do |conn|
119
- begin
120
- conn.search2(dn(name), 0, "objectclass=*") do |result|
121
- # Convert to puppet-appropriate attributes
122
- return entry2provider(result)
123
- end
124
- rescue
125
- return nil
119
+ conn.search2(dn(name), 0, "objectclass=*") do |result|
120
+ # Convert to puppet-appropriate attributes
121
+ return entry2provider(result)
126
122
  end
123
+ rescue
124
+ return nil
127
125
  end
128
126
  end
129
127
 
@@ -153,7 +151,7 @@ class Puppet::Util::Ldap::Manager
153
151
  end
154
152
 
155
153
  result = [result] unless result.is_a?(Array)
156
- result = result.collect { |r| r.to_s }
154
+ result = result.collect(&:to_s)
157
155
 
158
156
  values[generator.name] = result
159
157
  end
@@ -215,7 +213,7 @@ class Puppet::Util::Ldap::Manager
215
213
  result << entry2provider(entry)
216
214
  end
217
215
  end
218
- return(result.empty? ? nil : result)
216
+ (result.empty? ? nil : result)
219
217
  end
220
218
 
221
219
  # Update the ldap entry with the desired state.
@@ -278,7 +276,7 @@ class Puppet::Util::Ldap::Manager
278
276
  # getting rid of :ensure and making sure everything's an array of strings.
279
277
  def ldap_convert(attributes)
280
278
  attributes.reject { |param, value| value == :absent or param == :ensure }.each_with_object({}) do |ary, result|
281
- value = (ary[1].is_a?(Array) ? ary[1] : [ary[1]]).collect { |v| v.to_s }
279
+ value = (ary[1].is_a?(Array) ? ary[1] : [ary[1]]).collect(&:to_s)
282
280
  result[ldap_name(ary[0])] = value
283
281
  end
284
282
  end
@@ -25,14 +25,12 @@ class Puppet::Util::Lockfile
25
25
 
26
26
  # @return [boolean] true if lock is successfully acquired, false otherwise.
27
27
  def lock(lock_data = nil)
28
- begin
29
- Puppet::FileSystem.exclusive_create(@file_path, nil) do |fd|
30
- fd.print(lock_data)
31
- end
32
- true
33
- rescue Errno::EEXIST
34
- false
28
+ Puppet::FileSystem.exclusive_create(@file_path, nil) do |fd|
29
+ fd.print(lock_data)
35
30
  end
31
+ true
32
+ rescue Errno::EEXIST
33
+ false
36
34
  end
37
35
 
38
36
  def unlock
@@ -53,7 +51,7 @@ class Puppet::Util::Lockfile
53
51
  # was locked.
54
52
  # @return [String] the data object.
55
53
  def lock_data
56
- return File.read(@file_path) if file_locked?
54
+ File.read(@file_path) if file_locked?
57
55
  end
58
56
 
59
57
  # Private, internal utility method for encapsulating the logic about
@@ -32,9 +32,9 @@ class Puppet::Util::Log::Destination
32
32
 
33
33
  def name
34
34
  if defined?(@name)
35
- return @name
35
+ @name
36
36
  else
37
- return self.class.name
37
+ self.class.name
38
38
  end
39
39
  end
40
40
 
@@ -19,8 +19,8 @@ Puppet::Util::Log.newdesttype :syslog do
19
19
  str = Puppet[:syslogfacility]
20
20
  begin
21
21
  facility = Syslog.const_get("LOG_#{str.upcase}")
22
- rescue NameError
23
- raise Puppet::Error, _("Invalid syslog facility %{str}") % { str: str }, $!.backtrace
22
+ rescue NameError => e
23
+ raise Puppet::Error, _("Invalid syslog facility %{str}") % { str: str }, e.backtrace
24
24
  end
25
25
 
26
26
  @syslog = Syslog.open(name, options, facility)
@@ -72,7 +72,7 @@ Puppet::Util::Log.newdesttype :file do
72
72
  # We can't just use 'Config.use' here, because they've
73
73
  # specified a "special" destination.
74
74
  unless Puppet::FileSystem.exist?(Puppet::FileSystem.dir(path))
75
- FileUtils.mkdir_p(File.dirname(path), :mode => 0755)
75
+ FileUtils.mkdir_p(File.dirname(path), :mode => 0o755)
76
76
  Puppet.info _("Creating log directory %{dir}") % { dir: File.dirname(path) }
77
77
  end
78
78
 
@@ -211,7 +211,7 @@ Puppet::Util::Log.newdesttype :eventlog do
211
211
  Puppet::Util::Log::DestEventlog::EVENTLOG_ERROR_TYPE = 0x0001
212
212
  Puppet::Util::Log::DestEventlog::EVENTLOG_WARNING_TYPE = 0x0002
213
213
  Puppet::Util::Log::DestEventlog::EVENTLOG_INFORMATION_TYPE = 0x0004
214
- Puppet::Util::Log::DestEventlog::EVENTLOG_CHARACTER_LIMIT = 31838
214
+ Puppet::Util::Log::DestEventlog::EVENTLOG_CHARACTER_LIMIT = 31_838
215
215
 
216
216
  def self.suitable?(obj)
217
217
  Puppet::Util::Platform.windows?
@@ -64,7 +64,7 @@ class Puppet::Util::Log
64
64
  close(dest)
65
65
  }
66
66
  # TRANSLATORS "Log.close_all" is a method name and should not be translated
67
- raise Puppet::DevError.new(_("Log.close_all failed to close %{destinations}") % { destinations: @destinations.keys.inspect }) if !@destinations.empty?
67
+ raise Puppet::DevError, _("Log.close_all failed to close %{destinations}") % { destinations: @destinations.keys.inspect } unless @destinations.empty?
68
68
  end
69
69
 
70
70
  # Flush any log destinations that support such operations.
@@ -135,7 +135,7 @@ class Puppet::Util::Log
135
135
  klass.match?(dest)
136
136
  end
137
137
 
138
- if type.respond_to?(:suitable?) and not type.suitable?(dest)
138
+ if type.respond_to?(:suitable?) and !type.suitable?(dest)
139
139
  return
140
140
  end
141
141
 
@@ -224,7 +224,7 @@ class Puppet::Util::Log
224
224
  # error scenario.
225
225
  # @return nil
226
226
  def Log.force_flushqueue
227
- if (@destinations.empty? and !(@queued.empty?))
227
+ if @destinations.empty? and !@queued.empty?
228
228
  newdestination(:console)
229
229
  end
230
230
  flushqueue
@@ -257,8 +257,11 @@ class Puppet::Util::Log
257
257
 
258
258
  def self.setup_default
259
259
  Log.newdestination(
260
- (Puppet.features.syslog? ? :syslog :
261
- (Puppet.features.eventlog? ? :eventlog : Puppet[:puppetdlog]))
260
+ if Puppet.features.syslog?
261
+ :syslog
262
+ else
263
+ Puppet.features.eventlog? ? :eventlog : Puppet[:puppetdlog]
264
+ end
262
265
  )
263
266
  end
264
267
 
@@ -309,7 +312,7 @@ class Puppet::Util::Log
309
312
 
310
313
  tags = args[:tags]
311
314
  if tags
312
- tags.each { |t| self.tag(t) }
315
+ tags.each { |t| tag(t) }
313
316
  end
314
317
 
315
318
  # Don't add these unless defined (preserve 3.x API as much as possible)
@@ -333,7 +336,7 @@ class Puppet::Util::Log
333
336
  @time = Time.parse(@time)
334
337
  end
335
338
  # Don't add these unless defined (preserve 3.x API as much as possible)
336
- %w(file line pos issue_code environment node backtrace).each do |name|
339
+ %w[file line pos issue_code environment node backtrace].each do |name|
337
340
  value = data[name]
338
341
  next unless value
339
342
 
@@ -342,7 +345,7 @@ class Puppet::Util::Log
342
345
  end
343
346
 
344
347
  def to_hash
345
- self.to_data_hash
348
+ to_data_hash
346
349
  end
347
350
 
348
351
  def to_data_hash
@@ -365,7 +368,7 @@ class Puppet::Util::Log
365
368
  'tags' => @tags.to_a,
366
369
  'time' => @time.iso8601(9),
367
370
  }
368
- %w(file line pos issue_code environment node backtrace).each do |name|
371
+ %w[file line pos issue_code environment node backtrace].each do |name|
369
372
  attr_name = "@#{name}"
370
373
  hash[name] = instance_variable_get(attr_name) if instance_variable_defined?(attr_name)
371
374
  end
@@ -160,7 +160,7 @@ module Logging
160
160
  file = options[:file]
161
161
  line = options[:line]
162
162
  # TRANSLATORS the literals ":file", ":line", and ":key" should not be translated
163
- raise Puppet::DevError, _("Need either :file and :line, or :key") if (key.nil?) && (file.nil? || line.nil?)
163
+ raise Puppet::DevError, _("Need either :file and :line, or :key") if key.nil? && (file.nil? || line.nil?)
164
164
 
165
165
  key ||= "#{file}:#{line}"
166
166
  issue_deprecation_warning(message, key, file, line, false)
@@ -183,7 +183,7 @@ module Logging
183
183
 
184
184
  $unique_warnings ||= {}
185
185
  if $unique_warnings.length < 100 then
186
- if (!$unique_warnings.has_key?(key)) then
186
+ unless $unique_warnings.has_key?(key) then
187
187
  $unique_warnings[key] = message
188
188
  call_trace = if file == :default and line == :default
189
189
  # Suppress the file and line number output
@@ -238,16 +238,16 @@ module Logging
238
238
 
239
239
  # Deprecation messages are UTF-8 as they are produced by Ruby
240
240
  Puppet::FileSystem.open(deprecations_file, nil, "a:UTF-8") do |f|
241
- if ($deprecation_warnings) then
241
+ if $deprecation_warnings then
242
242
  $deprecation_warnings.each do |offender, message|
243
- if (!$logged_deprecation_warnings.has_key?(offender)) then
244
- $logged_deprecation_warnings[offender] = true
245
- if ((pattern.nil?) || (message =~ pattern)) then
246
- f.puts(message)
247
- f.puts(offender)
248
- f.puts()
249
- end
250
- end
243
+ next if $logged_deprecation_warnings.has_key?(offender)
244
+
245
+ $logged_deprecation_warnings[offender] = true
246
+ next unless pattern.nil? || (message =~ pattern)
247
+
248
+ f.puts(message)
249
+ f.puts(offender)
250
+ f.puts()
251
251
  end
252
252
  end
253
253
  end
@@ -36,9 +36,9 @@ class Puppet::Util::Metric
36
36
  def [](name)
37
37
  value = @values.find { |v| v[0] == name }
38
38
  if value
39
- return value[2]
39
+ value[2]
40
40
  else
41
- return 0
41
+ 0
42
42
  end
43
43
  end
44
44
 
@@ -51,7 +51,7 @@ class Puppet::Util::Metric
51
51
  end
52
52
 
53
53
  def newvalue(name, value, label = nil)
54
- raise ArgumentError.new("metric name #{name.inspect} is not a string") unless name.is_a? String
54
+ raise ArgumentError, "metric name #{name.inspect} is not a string" unless name.is_a? String
55
55
 
56
56
  label ||= self.class.labelize(name)
57
57
  @values.push [name, label, value]
@@ -17,7 +17,7 @@ module RDoc
17
17
  def self.caller(skip = nil)
18
18
  in_gem_wrapper = false
19
19
  Kernel.caller.reject { |call|
20
- in_gem_wrapper ||= call =~ /#{Regexp.escape $0}:\d+:in `load'/
20
+ in_gem_wrapper ||= call =~ /#{Regexp.escape $PROGRAM_NAME}:\d+:in `load'/
21
21
  }
22
22
  end
23
23
  end
@@ -82,12 +82,10 @@ if Puppet::Util::Platform.windows?
82
82
  unless @puppet_certs_loaded
83
83
  @puppet_certs_loaded = true
84
84
 
85
- Puppet::Util::Windows::RootCerts.instance.to_a.uniq { |cert| cert.to_der }.each do |x509|
86
- begin
87
- add_cert(x509)
88
- rescue OpenSSL::X509::StoreError
89
- warn "Failed to add #{x509.subject.to_utf8}"
90
- end
85
+ Puppet::Util::Windows::RootCerts.instance.to_a.uniq(&:to_der).each do |x509|
86
+ add_cert(x509)
87
+ rescue OpenSSL::X509::StoreError
88
+ warn "Failed to add #{x509.subject.to_utf8}"
91
89
  end
92
90
  end
93
91
 
@@ -6,7 +6,7 @@ require_relative '../../../puppet/util/network_device'
6
6
 
7
7
  class Puppet::Util::NetworkDevice::Config
8
8
  def self.main
9
- @main ||= self.new
9
+ @main ||= new
10
10
  end
11
11
 
12
12
  def self.devices
@@ -51,7 +51,7 @@ class Puppet::Util::NetworkDevice::Config
51
51
  file_line_count += 1
52
52
  next
53
53
  when /^\[([\w.-]+)\]\s*$/ # [device.fqdn]
54
- name = $1
54
+ name = ::Regexp.last_match(1)
55
55
  name.chomp!
56
56
  if devices.include?(name)
57
57
  file_error_location = Puppet::Util::Errors.error_location(nil, file_line_count)
@@ -66,7 +66,7 @@ class Puppet::Util::NetworkDevice::Config
66
66
  Puppet.debug "found device: #{device.name} at #{device.line}"
67
67
  devices[name] = device
68
68
  when /^\s*(type|url|debug)(\s+(.+)\s*)*$/
69
- parse_directive(device, $1, $3, file_line_count)
69
+ parse_directive(device, ::Regexp.last_match(1), ::Regexp.last_match(3), file_line_count)
70
70
  else
71
71
  error_location_str = Puppet::Util::Errors.error_location(nil, file_line_count)
72
72
  raise Puppet::Error, _("Invalid entry at %{error_location}: %{file_text}") %
@@ -110,42 +110,41 @@ module Puppet::Util::Package::Version
110
110
  mine_index += mytilde.length
111
111
  yours_index += yourstilde.length
112
112
 
113
- if cmp == 0 # handle letters
113
+ next unless cmp == 0 # handle letters
114
114
 
115
- _mymatch, myletters = *match_letters(mine.slice(mine_index..-1))
116
- myletters ||= ''
115
+ _mymatch, myletters = *match_letters(mine.slice(mine_index..-1))
116
+ myletters ||= ''
117
117
 
118
- _yoursmatch, yoursletters = *match_letters(yours.slice(yours_index..-1))
119
- yoursletters ||= ''
118
+ _yoursmatch, yoursletters = *match_letters(yours.slice(yours_index..-1))
119
+ yoursletters ||= ''
120
120
 
121
- cmp = myletters <=> yoursletters
122
- mine_index += myletters.length
123
- yours_index += yoursletters.length
121
+ cmp = myletters <=> yoursletters
122
+ mine_index += myletters.length
123
+ yours_index += yoursletters.length
124
124
 
125
- if cmp == 0 # handle nonletters except tilde
126
- _mymatch, mynon_letters = *match_non_letters(mine.slice(mine_index..-1))
127
- mynon_letters ||= ''
125
+ next unless cmp == 0 # handle nonletters except tilde
128
126
 
129
- _yoursmatch, yoursnon_letters = *match_non_letters(yours.slice(yours_index..-1))
130
- yoursnon_letters ||= ''
127
+ _mymatch, mynon_letters = *match_non_letters(mine.slice(mine_index..-1))
128
+ mynon_letters ||= ''
131
129
 
132
- cmp = mynon_letters <=> yoursnon_letters
133
- mine_index += mynon_letters.length
134
- yours_index += yoursnon_letters.length
130
+ _yoursmatch, yoursnon_letters = *match_non_letters(yours.slice(yours_index..-1))
131
+ yoursnon_letters ||= ''
135
132
 
136
- if cmp == 0 # handle digits
137
- _mymatch, mydigits = *match_digits(mine.slice(mine_index..-1))
138
- mydigits ||= ''
133
+ cmp = mynon_letters <=> yoursnon_letters
134
+ mine_index += mynon_letters.length
135
+ yours_index += yoursnon_letters.length
139
136
 
140
- _yoursmatch, yoursdigits = *match_digits(yours.slice(yours_index..-1))
141
- yoursdigits ||= ''
137
+ next unless cmp == 0 # handle digits
142
138
 
143
- cmp = mydigits.to_i <=> yoursdigits.to_i
144
- mine_index += mydigits.length
145
- yours_index += yoursdigits.length
146
- end
147
- end
148
- end
139
+ _mymatch, mydigits = *match_digits(mine.slice(mine_index..-1))
140
+ mydigits ||= ''
141
+
142
+ _yoursmatch, yoursdigits = *match_digits(yours.slice(yours_index..-1))
143
+ yoursdigits ||= ''
144
+
145
+ cmp = mydigits.to_i <=> yoursdigits.to_i
146
+ mine_index += mydigits.length
147
+ yours_index += yoursdigits.length
149
148
  end
150
149
  if cmp == 0
151
150
  if mine_index < mine.length && match_tildes(mine[mine_index])
@@ -164,7 +163,7 @@ module Puppet::Util::Package::Version
164
163
  end
165
164
 
166
165
  def match_non_letters(a)
167
- a.match(/^([\.\+-]+)/)
166
+ a.match(/^([.+-]+)/)
168
167
  end
169
168
 
170
169
  def match_tildes(a)