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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -26
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
  216. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  217. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  218. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  219. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  220. data/lib/puppet/pops/functions/function.rb +14 -16
  221. data/lib/puppet/pops/issue_reporter.rb +2 -2
  222. data/lib/puppet/pops/label_provider.rb +2 -2
  223. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  224. data/lib/puppet/pops/loader/loader.rb +4 -4
  225. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  226. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  227. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  229. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  230. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  231. data/lib/puppet/pops/loaders.rb +3 -3
  232. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  233. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  234. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  235. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  236. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  237. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  238. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  240. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  241. data/lib/puppet/pops/merge_strategy.rb +6 -6
  242. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  243. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  244. data/lib/puppet/pops/model/factory.rb +4 -5
  245. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  246. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  247. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  248. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  249. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  250. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  251. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  252. data/lib/puppet/pops/parser/locator.rb +4 -4
  253. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  254. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  255. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  256. data/lib/puppet/pops/patterns.rb +12 -12
  257. data/lib/puppet/pops/pcore.rb +1 -1
  258. data/lib/puppet/pops/pn.rb +2 -2
  259. data/lib/puppet/pops/puppet_stack.rb +1 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  261. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  262. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  263. data/lib/puppet/pops/time/timestamp.rb +1 -1
  264. data/lib/puppet/pops/types/class_loader.rb +4 -6
  265. data/lib/puppet/pops/types/iterable.rb +1 -1
  266. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  268. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  269. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  270. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  272. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  273. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  274. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  275. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  276. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  277. data/lib/puppet/pops/types/string_converter.rb +12 -8
  278. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  279. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  280. data/lib/puppet/pops/types/type_factory.rb +7 -3
  281. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  282. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  283. data/lib/puppet/pops/types/types.rb +28 -24
  284. data/lib/puppet/pops/utils.rb +38 -42
  285. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  286. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  287. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  288. data/lib/puppet/pops/validation.rb +4 -4
  289. data/lib/puppet/pops/visitor.rb +2 -2
  290. data/lib/puppet/property/ensure.rb +12 -14
  291. data/lib/puppet/property/keyvalue.rb +4 -4
  292. data/lib/puppet/property/list.rb +4 -4
  293. data/lib/puppet/property/ordered_list.rb +1 -1
  294. data/lib/puppet/property.rb +31 -33
  295. data/lib/puppet/provider/exec.rb +2 -2
  296. data/lib/puppet/provider/file/posix.rb +19 -17
  297. data/lib/puppet/provider/file/windows.rb +13 -19
  298. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  299. data/lib/puppet/provider/group/groupadd.rb +4 -4
  300. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  301. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  302. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  303. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  304. data/lib/puppet/provider/nameservice.rb +8 -8
  305. data/lib/puppet/provider/package/aix.rb +19 -19
  306. data/lib/puppet/provider/package/appdmg.rb +2 -2
  307. data/lib/puppet/provider/package/apple.rb +1 -1
  308. data/lib/puppet/provider/package/apt.rb +18 -18
  309. data/lib/puppet/provider/package/aptitude.rb +1 -3
  310. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  311. data/lib/puppet/provider/package/blastwave.rb +10 -14
  312. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  313. data/lib/puppet/provider/package/dpkg.rb +11 -13
  314. data/lib/puppet/provider/package/fink.rb +14 -14
  315. data/lib/puppet/provider/package/freebsd.rb +1 -1
  316. data/lib/puppet/provider/package/gem.rb +12 -14
  317. data/lib/puppet/provider/package/macports.rb +2 -2
  318. data/lib/puppet/provider/package/nim.rb +10 -10
  319. data/lib/puppet/provider/package/openbsd.rb +22 -22
  320. data/lib/puppet/provider/package/opkg.rb +6 -6
  321. data/lib/puppet/provider/package/pacman.rb +35 -29
  322. data/lib/puppet/provider/package/pip.rb +25 -24
  323. data/lib/puppet/provider/package/pkg.rb +15 -15
  324. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  325. data/lib/puppet/provider/package/pkgin.rb +2 -2
  326. data/lib/puppet/provider/package/pkgng.rb +5 -5
  327. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  328. data/lib/puppet/provider/package/portage.rb +59 -61
  329. data/lib/puppet/provider/package/ports.rb +12 -11
  330. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  331. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  332. data/lib/puppet/provider/package/rpm.rb +26 -26
  333. data/lib/puppet/provider/package/rug.rb +7 -9
  334. data/lib/puppet/provider/package/sun.rb +4 -4
  335. data/lib/puppet/provider/package/up2date.rb +5 -7
  336. data/lib/puppet/provider/package/urpmi.rb +6 -6
  337. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  338. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  339. data/lib/puppet/provider/package/windows/package.rb +2 -2
  340. data/lib/puppet/provider/package/windows.rb +3 -5
  341. data/lib/puppet/provider/package/yum.rb +33 -37
  342. data/lib/puppet/provider/package/zypper.rb +12 -14
  343. data/lib/puppet/provider/package.rb +1 -1
  344. data/lib/puppet/provider/package_targetable.rb +1 -1
  345. data/lib/puppet/provider/parsedfile.rb +9 -9
  346. data/lib/puppet/provider/service/base.rb +16 -21
  347. data/lib/puppet/provider/service/bsd.rb +4 -4
  348. data/lib/puppet/provider/service/daemontools.rb +31 -31
  349. data/lib/puppet/provider/service/debian.rb +6 -6
  350. data/lib/puppet/provider/service/freebsd.rb +36 -36
  351. data/lib/puppet/provider/service/gentoo.rb +6 -6
  352. data/lib/puppet/provider/service/init.rb +19 -19
  353. data/lib/puppet/provider/service/launchd.rb +22 -22
  354. data/lib/puppet/provider/service/openbsd.rb +10 -10
  355. data/lib/puppet/provider/service/openrc.rb +1 -1
  356. data/lib/puppet/provider/service/openwrt.rb +3 -3
  357. data/lib/puppet/provider/service/rcng.rb +3 -3
  358. data/lib/puppet/provider/service/redhat.rb +4 -4
  359. data/lib/puppet/provider/service/runit.rb +6 -6
  360. data/lib/puppet/provider/service/service.rb +5 -7
  361. data/lib/puppet/provider/service/smf.rb +28 -27
  362. data/lib/puppet/provider/service/src.rb +7 -7
  363. data/lib/puppet/provider/service/systemd.rb +31 -37
  364. data/lib/puppet/provider/service/upstart.rb +17 -17
  365. data/lib/puppet/provider/service/windows.rb +7 -7
  366. data/lib/puppet/provider/user/aix.rb +4 -2
  367. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  368. data/lib/puppet/provider/user/hpux.rb +10 -14
  369. data/lib/puppet/provider/user/pw.rb +1 -1
  370. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  371. data/lib/puppet/provider/user/useradd.rb +7 -7
  372. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  373. data/lib/puppet/provider.rb +8 -8
  374. data/lib/puppet/reference/indirection.rb +3 -0
  375. data/lib/puppet/reference/metaparameter.rb +1 -1
  376. data/lib/puppet/reference/providers.rb +3 -3
  377. data/lib/puppet/reference/type.rb +1 -1
  378. data/lib/puppet/relationship.rb +4 -5
  379. data/lib/puppet/reports/http.rb +1 -1
  380. data/lib/puppet/reports/log.rb +2 -2
  381. data/lib/puppet/reports/store.rb +4 -4
  382. data/lib/puppet/reports.rb +2 -2
  383. data/lib/puppet/resource/catalog.rb +16 -16
  384. data/lib/puppet/resource/status.rb +3 -3
  385. data/lib/puppet/resource/type.rb +8 -8
  386. data/lib/puppet/resource/type_collection.rb +1 -1
  387. data/lib/puppet/resource.rb +41 -41
  388. data/lib/puppet/scheduler/scheduler.rb +1 -1
  389. data/lib/puppet/settings/alias_setting.rb +3 -5
  390. data/lib/puppet/settings/base_setting.rb +11 -11
  391. data/lib/puppet/settings/boolean_setting.rb +2 -2
  392. data/lib/puppet/settings/config_file.rb +5 -4
  393. data/lib/puppet/settings/duration_setting.rb +2 -2
  394. data/lib/puppet/settings/environment_conf.rb +3 -3
  395. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  396. data/lib/puppet/settings/file_setting.rb +11 -11
  397. data/lib/puppet/settings/ini_file.rb +3 -3
  398. data/lib/puppet/settings/port_setting.rb +1 -1
  399. data/lib/puppet/settings/priority_setting.rb +2 -2
  400. data/lib/puppet/settings/ttl_setting.rb +2 -2
  401. data/lib/puppet/settings/value_translator.rb +8 -8
  402. data/lib/puppet/settings.rb +65 -70
  403. data/lib/puppet/ssl/base.rb +2 -4
  404. data/lib/puppet/ssl/certificate_request.rb +18 -22
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  406. data/lib/puppet/ssl/oids.rb +2 -2
  407. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  408. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  409. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  410. data/lib/puppet/syntax_checkers/json.rb +3 -3
  411. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  412. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  413. data/lib/puppet/transaction/event.rb +2 -2
  414. data/lib/puppet/transaction/event_manager.rb +5 -5
  415. data/lib/puppet/transaction/persistence.rb +12 -14
  416. data/lib/puppet/transaction/report.rb +4 -4
  417. data/lib/puppet/transaction/resource_harness.rb +2 -2
  418. data/lib/puppet/transaction.rb +14 -18
  419. data/lib/puppet/type/component.rb +3 -3
  420. data/lib/puppet/type/exec.rb +43 -45
  421. data/lib/puppet/type/file/checksum_value.rb +1 -1
  422. data/lib/puppet/type/file/content.rb +6 -6
  423. data/lib/puppet/type/file/ctime.rb +2 -2
  424. data/lib/puppet/type/file/data_sync.rb +3 -3
  425. data/lib/puppet/type/file/ensure.rb +16 -15
  426. data/lib/puppet/type/file/mode.rb +9 -9
  427. data/lib/puppet/type/file/mtime.rb +2 -2
  428. data/lib/puppet/type/file/selcontext.rb +14 -14
  429. data/lib/puppet/type/file/source.rb +19 -21
  430. data/lib/puppet/type/file/target.rb +11 -11
  431. data/lib/puppet/type/file.rb +21 -21
  432. data/lib/puppet/type/filebucket.rb +3 -3
  433. data/lib/puppet/type/group.rb +3 -3
  434. data/lib/puppet/type/notify.rb +2 -2
  435. data/lib/puppet/type/package.rb +4 -4
  436. data/lib/puppet/type/resources.rb +6 -6
  437. data/lib/puppet/type/schedule.rb +9 -9
  438. data/lib/puppet/type/service.rb +6 -8
  439. data/lib/puppet/type/tidy.rb +22 -24
  440. data/lib/puppet/type/user.rb +13 -13
  441. data/lib/puppet/type.rb +76 -88
  442. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  443. data/lib/puppet/util/autoload.rb +2 -2
  444. data/lib/puppet/util/backups.rb +9 -9
  445. data/lib/puppet/util/character_encoding.rb +7 -6
  446. data/lib/puppet/util/checksums.rb +2 -2
  447. data/lib/puppet/util/classgen.rb +8 -8
  448. data/lib/puppet/util/colors.rb +1 -1
  449. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  450. data/lib/puppet/util/command_line/trollop.rb +42 -46
  451. data/lib/puppet/util/command_line.rb +2 -2
  452. data/lib/puppet/util/constant_inflector.rb +2 -2
  453. data/lib/puppet/util/diff.rb +19 -21
  454. data/lib/puppet/util/docs.rb +2 -2
  455. data/lib/puppet/util/errors.rb +9 -9
  456. data/lib/puppet/util/execution.rb +32 -9
  457. data/lib/puppet/util/feature.rb +1 -1
  458. data/lib/puppet/util/fileparsing.rb +12 -16
  459. data/lib/puppet/util/filetype.rb +36 -40
  460. data/lib/puppet/util/inifile.rb +6 -12
  461. data/lib/puppet/util/ldap/connection.rb +1 -1
  462. data/lib/puppet/util/ldap/manager.rb +10 -12
  463. data/lib/puppet/util/lockfile.rb +6 -8
  464. data/lib/puppet/util/log/destination.rb +2 -2
  465. data/lib/puppet/util/log/destinations.rb +4 -4
  466. data/lib/puppet/util/log.rb +12 -9
  467. data/lib/puppet/util/logging.rb +11 -11
  468. data/lib/puppet/util/metric.rb +3 -3
  469. data/lib/puppet/util/monkey_patches.rb +5 -7
  470. data/lib/puppet/util/network_device/config.rb +3 -3
  471. data/lib/puppet/util/package/version/debian.rb +27 -28
  472. data/lib/puppet/util/package/version/pip.rb +5 -5
  473. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  474. data/lib/puppet/util/package/version/rpm.rb +1 -1
  475. data/lib/puppet/util/package.rb +2 -2
  476. data/lib/puppet/util/pidlock.rb +2 -2
  477. data/lib/puppet/util/platform.rb +1 -1
  478. data/lib/puppet/util/plist.rb +8 -10
  479. data/lib/puppet/util/posix.rb +17 -17
  480. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  481. data/lib/puppet/util/provider_features.rb +3 -3
  482. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  483. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  484. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  486. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  487. data/lib/puppet/util/rdoc/parser.rb +1 -1
  488. data/lib/puppet/util/reference.rb +13 -9
  489. data/lib/puppet/util/retry_action.rb +1 -1
  490. data/lib/puppet/util/rpm_compare.rb +17 -18
  491. data/lib/puppet/util/rubygems.rb +1 -1
  492. data/lib/puppet/util/selinux.rb +7 -7
  493. data/lib/puppet/util/storage.rb +10 -12
  494. data/lib/puppet/util/suidmanager.rb +18 -19
  495. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  496. data/lib/puppet/util/tag_set.rb +2 -2
  497. data/lib/puppet/util/tagging.rb +8 -10
  498. data/lib/puppet/util/terminal.rb +4 -4
  499. data/lib/puppet/util/user_attr.rb +7 -7
  500. data/lib/puppet/util/watcher.rb +3 -5
  501. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  502. data/lib/puppet/util/windows/adsi.rb +42 -42
  503. data/lib/puppet/util/windows/daemon.rb +64 -68
  504. data/lib/puppet/util/windows/error.rb +2 -2
  505. data/lib/puppet/util/windows/file.rb +18 -25
  506. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  507. data/lib/puppet/util/windows/principal.rb +8 -8
  508. data/lib/puppet/util/windows/process.rb +16 -28
  509. data/lib/puppet/util/windows/registry.rb +16 -15
  510. data/lib/puppet/util/windows/root_certs.rb +2 -2
  511. data/lib/puppet/util/windows/security.rb +31 -31
  512. data/lib/puppet/util/windows/service.rb +11 -11
  513. data/lib/puppet/util/windows/sid.rb +8 -8
  514. data/lib/puppet/util/windows/user.rb +18 -20
  515. data/lib/puppet/util/yaml.rb +1 -1
  516. data/lib/puppet/util.rb +55 -46
  517. data/lib/puppet/version.rb +2 -2
  518. data/lib/puppet/x509/pem_store.rb +1 -1
  519. data/lib/puppet.rb +3 -3
  520. data/man/man5/puppet.conf.5 +10 -2
  521. data/man/man8/puppet-agent.8 +1 -1
  522. data/man/man8/puppet-apply.8 +1 -1
  523. data/man/man8/puppet-catalog.8 +1 -1
  524. data/man/man8/puppet-config.8 +1 -1
  525. data/man/man8/puppet-describe.8 +1 -1
  526. data/man/man8/puppet-device.8 +1 -1
  527. data/man/man8/puppet-doc.8 +1 -1
  528. data/man/man8/puppet-epp.8 +1 -1
  529. data/man/man8/puppet-facts.8 +1 -1
  530. data/man/man8/puppet-filebucket.8 +1 -1
  531. data/man/man8/puppet-generate.8 +1 -1
  532. data/man/man8/puppet-help.8 +1 -1
  533. data/man/man8/puppet-lookup.8 +1 -1
  534. data/man/man8/puppet-module.8 +1 -1
  535. data/man/man8/puppet-node.8 +1 -1
  536. data/man/man8/puppet-parser.8 +1 -1
  537. data/man/man8/puppet-plugin.8 +1 -1
  538. data/man/man8/puppet-report.8 +1 -1
  539. data/man/man8/puppet-resource.8 +5 -1
  540. data/man/man8/puppet-script.8 +1 -1
  541. data/man/man8/puppet-ssl.8 +1 -1
  542. data/man/man8/puppet.8 +2 -2
  543. metadata +2 -2
@@ -36,7 +36,7 @@ class Puppet::Util::AtFork::Solaris
36
36
  [:ct_status_read, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP],
37
37
 
38
38
  [:ct_status_get_id, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP],
39
- [:ct_status_free, Fiddle::TYPE_VOID, Fiddle::TYPE_VOIDP],
39
+ [:ct_status_free, Fiddle::TYPE_VOID, Fiddle::TYPE_VOIDP]
40
40
  ],
41
41
  }.each do |library, functions|
42
42
  libhandle = Fiddle::Handle.new(library)
@@ -46,9 +46,9 @@ class Puppet::Util::AtFork::Solaris
46
46
  end
47
47
  end
48
48
 
49
- CTFS_PR_ROOT = File.join('', %w(system contract process))
50
- CTFS_PR_TEMPLATE = File.join(CTFS_PR_ROOT, %q(template))
51
- CTFS_PR_LATEST = File.join(CTFS_PR_ROOT, %q(latest))
49
+ CTFS_PR_ROOT = File.join('', %w[system contract process])
50
+ CTFS_PR_TEMPLATE = File.join(CTFS_PR_ROOT, 'template')
51
+ CTFS_PR_LATEST = File.join(CTFS_PR_ROOT, 'latest')
52
52
 
53
53
  CT_PR_PGRPONLY = 0x4
54
54
  CT_PR_EV_HWERR = 0x20
@@ -63,27 +63,25 @@ class Puppet::Util::AtFork::Solaris
63
63
  end
64
64
 
65
65
  def activate_new_contract_template
66
- begin
67
- tmpl = File.new(CTFS_PR_TEMPLATE, File::RDWR)
68
-
69
- begin
70
- tmpl_fd = tmpl.fileno
66
+ tmpl = File.new(CTFS_PR_TEMPLATE, File::RDWR)
71
67
 
72
- raise_if_error { ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) }
73
- raise_if_error { ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) }
74
- raise_if_error { ct_tmpl_set_critical(tmpl_fd, 0) }
75
- raise_if_error { ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) }
68
+ begin
69
+ tmpl_fd = tmpl.fileno
76
70
 
77
- raise_if_error { ct_tmpl_activate(tmpl_fd) }
78
- rescue
79
- tmpl.close
80
- raise
81
- end
71
+ raise_if_error { ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) }
72
+ raise_if_error { ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) }
73
+ raise_if_error { ct_tmpl_set_critical(tmpl_fd, 0) }
74
+ raise_if_error { ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) }
82
75
 
83
- @tmpl = tmpl
84
- rescue => detail
85
- Puppet.log_exception(detail, _('Failed to activate a new process contract template'))
76
+ raise_if_error { ct_tmpl_activate(tmpl_fd) }
77
+ rescue
78
+ tmpl.close
79
+ raise
86
80
  end
81
+
82
+ @tmpl = tmpl
83
+ rescue => detail
84
+ Puppet.log_exception(detail, _('Failed to activate a new process contract template'))
87
85
  end
88
86
 
89
87
  def deactivate_contract_template(parent)
@@ -108,24 +106,22 @@ class Puppet::Util::AtFork::Solaris
108
106
  end
109
107
 
110
108
  def get_latest_child_contract_id
111
- begin
112
- stat = File.new(CTFS_PR_LATEST, File::RDONLY)
109
+ stat = File.new(CTFS_PR_LATEST, File::RDONLY)
113
110
 
114
- begin
115
- stathdl = Fiddle::Pointer.new(0)
116
-
117
- raise_if_error { ct_status_read(stat.fileno, CTD_COMMON, stathdl.ref) }
118
- ctid = ct_status_get_id(stathdl)
119
- ct_status_free(stathdl)
120
- ensure
121
- stat.close
122
- end
111
+ begin
112
+ stathdl = Fiddle::Pointer.new(0)
123
113
 
124
- ctid
125
- rescue => detail
126
- Puppet.log_exception(detail, _('Failed to get latest child process contract id'))
127
- nil
114
+ raise_if_error { ct_status_read(stat.fileno, CTD_COMMON, stathdl.ref) }
115
+ ctid = ct_status_get_id(stathdl)
116
+ ct_status_free(stathdl)
117
+ ensure
118
+ stat.close
128
119
  end
120
+
121
+ ctid
122
+ rescue => detail
123
+ Puppet.log_exception(detail, _('Failed to get latest child process contract id'))
124
+ nil
129
125
  end
130
126
 
131
127
  def abandon_latest_child_contract
@@ -133,7 +129,7 @@ class Puppet::Util::AtFork::Solaris
133
129
  return if ctid.nil?
134
130
 
135
131
  begin
136
- ctl = File.new(File.join(CTFS_PR_ROOT, ctid.to_s, %q(ctl)), File::WRONLY)
132
+ ctl = File.new(File.join(CTFS_PR_ROOT, ctid.to_s, 'ctl'), File::WRONLY)
137
133
 
138
134
  begin
139
135
  raise_if_error { ct_ctl_abandon(ctl.fileno) }
@@ -81,7 +81,7 @@ class Puppet::Util::Autoload
81
81
  begin
82
82
  mark_loaded(name, file)
83
83
  Kernel.load file
84
- return true
84
+ true
85
85
  rescue SystemExit, NoMemoryError
86
86
  raise
87
87
  rescue Exception => detail
@@ -111,7 +111,7 @@ class Puppet::Util::Autoload
111
111
  # returns nil if no file is found
112
112
  # @api private
113
113
  def get_file(name, env)
114
- name = name + '.rb' unless name =~ /\.rb$/
114
+ name += '.rb' unless name =~ /\.rb$/
115
115
  path = search_directories(env).find { |dir| Puppet::FileSystem.exist?(File.join(dir, name)) }
116
116
  path and File.join(path, name)
117
117
  end
@@ -13,13 +13,13 @@ module Puppet::Util::Backups
13
13
  file ||= self[:path]
14
14
  return true unless Puppet::FileSystem.exist?(file)
15
15
 
16
- return(self.bucket ? perform_backup_with_bucket(file) : perform_backup_with_backuplocal(file, self[:backup]))
16
+ (bucket ? perform_backup_with_bucket(file) : perform_backup_with_backuplocal(file, self[:backup]))
17
17
  end
18
18
 
19
19
  private
20
20
 
21
21
  def perform_backup_with_bucket(fileobj)
22
- file = (fileobj.instance_of?(String)) ? fileobj : fileobj.name
22
+ file = fileobj.instance_of?(String) ? fileobj : fileobj.name
23
23
  case Puppet::FileSystem.lstat(file).ftype
24
24
  when "directory"
25
25
  # we don't need to backup directories when recurse is on
@@ -34,7 +34,7 @@ module Puppet::Util::Backups
34
34
  end
35
35
 
36
36
  def perform_backup_with_backuplocal(fileobj, backup)
37
- file = (fileobj.instance_of?(String)) ? fileobj : fileobj.name
37
+ file = fileobj.instance_of?(String) ? fileobj : fileobj.name
38
38
  newfile = file + backup
39
39
 
40
40
  remove_backup(newfile)
@@ -44,7 +44,7 @@ module Puppet::Util::Backups
44
44
 
45
45
  # N.B. cp_r works on both files and directories
46
46
  FileUtils.cp_r(file, bfile, :preserve => true)
47
- return true
47
+ true
48
48
  rescue => detail
49
49
  # since they said they want a backup, let's error out
50
50
  # if we couldn't make one
@@ -53,7 +53,7 @@ module Puppet::Util::Backups
53
53
  end
54
54
 
55
55
  def remove_backup(newfile)
56
- if self.instance_of?(Puppet::Type::File) and self[:links] != :follow
56
+ if instance_of?(Puppet::Type::File) and self[:links] != :follow
57
57
  method = :lstat
58
58
  else
59
59
  method = :stat
@@ -75,14 +75,14 @@ module Puppet::Util::Backups
75
75
  Puppet::FileSystem.unlink(newfile)
76
76
  rescue => detail
77
77
  message = _("Could not remove old backup: %{detail}") % { detail: detail }
78
- self.log_exception(detail, message)
78
+ log_exception(detail, message)
79
79
  self.fail Puppet::Error, message, detail
80
80
  end
81
81
  end
82
82
 
83
83
  def backup_file_with_filebucket(f)
84
- sum = self.bucket.backup(f)
85
- self.info _("Filebucketed %{f} to %{filebucket} with sum %{sum}") % { f: f, filebucket: self.bucket.name, sum: sum }
86
- return sum
84
+ sum = bucket.backup(f)
85
+ info _("Filebucketed %{f} to %{filebucket} with sum %{sum}") % { f: f, filebucket: bucket.name, sum: sum }
86
+ sum
87
87
  end
88
88
  end
@@ -20,13 +20,13 @@ module Puppet::Util::CharacterEncoding
20
20
  string_copy = string.dup
21
21
  begin
22
22
  if original_encoding == Encoding::UTF_8
23
- if !string_copy.valid_encoding?
23
+ unless string_copy.valid_encoding?
24
24
  Puppet.debug {
25
25
  _("%{value} is already labeled as UTF-8 but this encoding is invalid. It cannot be transcoded by Puppet.") % { value: string.dump }
26
26
  }
27
27
  end
28
28
  # String is already valid UTF-8 - noop
29
- return string_copy
29
+ string_copy
30
30
  else
31
31
  # If the string comes to us as BINARY encoded, we don't know what it
32
32
  # started as. However, to encode! we need a starting place, and our
@@ -34,7 +34,7 @@ module Puppet::Util::CharacterEncoding
34
34
  # So set external_encoding to default_external before we try to
35
35
  # transcode to UTF-8.
36
36
  string_copy.force_encoding(Encoding.default_external) if original_encoding == Encoding::BINARY
37
- return string_copy.encode(Encoding::UTF_8)
37
+ string_copy.encode(Encoding::UTF_8)
38
38
  end
39
39
  rescue EncodingError => detail
40
40
  # Set the encoding on our copy back to its original if we modified it
@@ -46,7 +46,7 @@ module Puppet::Util::CharacterEncoding
46
46
  Puppet.debug {
47
47
  _("%{error}: %{value} cannot be transcoded by Puppet.") % { error: detail.inspect, value: string.dump }
48
48
  }
49
- return string_copy
49
+ string_copy
50
50
  end
51
51
  end
52
52
 
@@ -68,14 +68,15 @@ module Puppet::Util::CharacterEncoding
68
68
  string_copy = string.dup
69
69
  original_encoding = string_copy.encoding
70
70
  return string_copy if original_encoding == Encoding::UTF_8
71
+
71
72
  if string_copy.force_encoding(Encoding::UTF_8).valid_encoding?
72
- return string_copy
73
+ string_copy
73
74
  else
74
75
  Puppet.debug {
75
76
  _("%{value} is not valid UTF-8 and result of overriding encoding would be invalid.") % { value: string.dump }
76
77
  }
77
78
  # Set copy back to its original encoding before returning
78
- return string_copy.force_encoding(original_encoding)
79
+ string_copy.force_encoding(original_encoding)
79
80
  end
80
81
  end
81
82
  end
@@ -45,12 +45,12 @@ module Puppet::Util::Checksums
45
45
 
46
46
  # Strip the checksum type from an existing checksum
47
47
  def sumdata(checksum)
48
- checksum =~ /^\{(\w+)\}(.+)/ ? $2 : nil
48
+ checksum =~ /^\{(\w+)\}(.+)/ ? ::Regexp.last_match(2) : nil
49
49
  end
50
50
 
51
51
  # Strip the checksum type from an existing checksum
52
52
  def sumtype(checksum)
53
- checksum =~ /^\{(\w+)\}/ ? $1 : nil
53
+ checksum =~ /^\{(\w+)\}/ ? ::Regexp.last_match(1) : nil
54
54
  end
55
55
 
56
56
  # Calculate a checksum using Digest::SHA256.
@@ -177,11 +177,11 @@ module Puppet::Util::ClassGen
177
177
 
178
178
  [:include, :extend].each do |method|
179
179
  set = options[method]
180
- if set
181
- set = [set] unless set.is_a?(Array)
182
- set.each do |mod|
183
- klass.send(method, mod)
184
- end
180
+ next unless set
181
+
182
+ set = [set] unless set.is_a?(Array)
183
+ set.each do |mod|
184
+ klass.send(method, mod)
185
185
  end
186
186
  end
187
187
 
@@ -210,9 +210,9 @@ module Puppet::Util::ClassGen
210
210
  # If we were told to stick it in a hash, then do so
211
211
  array = options[:array]
212
212
  if array
213
- if (klass.respond_to? :name and
214
- array.find { |c| c.name == klassname } and
215
- !options[:overwrite])
213
+ if klass.respond_to? :name and
214
+ array.find { |c| c.name == klassname } and
215
+ !options[:overwrite]
216
216
  raise Puppet::SubclassAlreadyDefined,
217
217
  _("Already a generated class named %{klassname}") % { klassname: klassname }
218
218
  end
@@ -97,6 +97,6 @@ module Puppet::Util::Colors
97
97
 
98
98
  def html_color(color, str)
99
99
  span = '<span style="%s">' % Colormap[color][:html]
100
- "#{span}%s</span>" % str.gsub(/<span .*?<\/span>/, "</span>\\0#{span}")
100
+ "#{span}%s</span>" % str.gsub(%r{<span .*?</span>}, "</span>\\0#{span}")
101
101
  end
102
102
  end
@@ -63,7 +63,7 @@ module Puppet
63
63
  when :NONE
64
64
  options[:type] = :flag
65
65
  else
66
- raise PuppetOptionError.new(_("Unsupported type: '%{type}'") % { type: type })
66
+ raise PuppetOptionError, _("Unsupported type: '%{type}'") % { type: type }
67
67
  end
68
68
 
69
69
  @parser.opt long.sub("^--", "").intern, desc, options
@@ -33,10 +33,10 @@ class CommandLine
33
33
  class VersionNeeded < StandardError; end
34
34
 
35
35
  ## Regex for floating point numbers
36
- FLOAT_RE = /^-?((\d+(\.\d+)?)|(\.\d+))([eE][-+]?[\d]+)?$/
36
+ FLOAT_RE = /^-?((\d+(\.\d+)?)|(\.\d+))([eE][-+]?\d+)?$/
37
37
 
38
38
  ## Regex for parameters
39
- PARAM_RE = /^-(-|\.$|[^\d\.])/
39
+ PARAM_RE = /^-(-|\.$|[^\d.])/
40
40
 
41
41
  ## The commandline parser. In typical usage, the methods in this class
42
42
  ## will be handled internally by Trollop::options. In this case, only the
@@ -221,7 +221,7 @@ class CommandLine
221
221
  opts[:long] =
222
222
  case opts[:long]
223
223
  when /^--([^-].*)$/
224
- $1
224
+ ::Regexp.last_match(1)
225
225
  when /^[^-]/
226
226
  opts[:long]
227
227
  else
@@ -234,7 +234,7 @@ class CommandLine
234
234
  opts[:short] = opts[:short].to_s if opts[:short]
235
235
  end
236
236
  opts[:short] = case opts[:short]
237
- when /^-(.)$/; $1
237
+ when /^-(.)$/; ::Regexp.last_match(1)
238
238
  when nil, :none, /^.$/; opts[:short]
239
239
  else raise ArgumentError, _("invalid short option name '%{name}'") % { name: opts[:short].inspect }
240
240
  end
@@ -333,11 +333,11 @@ class CommandLine
333
333
  @leftovers = each_arg cmdline do |arg, params|
334
334
  sym = case arg
335
335
  when /^-([^-])$/
336
- @short[$1]
336
+ @short[::Regexp.last_match(1)]
337
337
  when /^--no-([^-]\S*)$/
338
- @long["[no-]#{$1}"]
338
+ @long["[no-]#{::Regexp.last_match(1)}"]
339
339
  when /^--([^-]\S*)$/
340
- @long[$1] ? @long[$1] : @long["[no-]#{$1}"]
340
+ @long[::Regexp.last_match(1)] || @long["[no-]#{::Regexp.last_match(1)}"]
341
341
  else
342
342
  raise CommandlineError, _("invalid argument syntax: '%{arg}'") % { arg: arg }
343
343
  end
@@ -417,7 +417,7 @@ class CommandLine
417
417
  when :float, :floats
418
418
  vals[sym] = params.map { |pg| pg.map { |p| parse_float_parameter p, arg } }
419
419
  when :string, :strings
420
- vals[sym] = params.map { |pg| pg.map { |p| p.to_s } }
420
+ vals[sym] = params.map { |pg| pg.map(&:to_s) }
421
421
  when :io, :ios
422
422
  vals[sym] = params.map { |pg| pg.map { |p| parse_io_parameter p, arg } }
423
423
  when :date, :dates
@@ -425,13 +425,13 @@ class CommandLine
425
425
  end
426
426
 
427
427
  if SINGLE_ARG_TYPES.include?(opts[:type])
428
- unless opts[:multi] # single parameter
429
- vals[sym] = vals[sym][0][0]
430
- else # multiple options, each with a single parameter
428
+ if opts[:multi] # multiple options, each with a single parameter
431
429
  vals[sym] = vals[sym].map { |p| p[0] }
430
+ else # single parameter
431
+ vals[sym] = vals[sym][0][0]
432
432
  end
433
433
  elsif MULTI_ARG_TYPES.include?(opts[:type]) && !opts[:multi]
434
- vals[sym] = vals[sym][0] # single option, with multiple parameters
434
+ vals[sym] = vals[sym][0] # single option, with multiple parameters
435
435
  end
436
436
  # else: multiple options, with multiple parameters
437
437
 
@@ -454,15 +454,13 @@ class CommandLine
454
454
 
455
455
  def parse_date_parameter param, arg # :nodoc:
456
456
  begin
457
- begin
458
- time = Chronic.parse(param)
459
- rescue NameError
460
- # chronic is not available
461
- end
462
- time ? Date.new(time.year, time.month, time.day) : Date.parse(param)
463
- rescue ArgumentError
464
- raise CommandlineError, _("option '%{arg}' needs a date") % { arg: arg }, $!.backtrace
457
+ time = Chronic.parse(param)
458
+ rescue NameError
459
+ # chronic is not available
465
460
  end
461
+ time ? Date.new(time.year, time.month, time.day) : Date.parse(param)
462
+ rescue ArgumentError => e
463
+ raise CommandlineError, _("option '%{arg}' needs a date") % { arg: arg }, e.backtrace
466
464
  end
467
465
 
468
466
  ## Print the help message to +stream+.
@@ -489,11 +487,11 @@ class CommandLine
489
487
  end
490
488
  end
491
489
 
492
- leftcol_width = left.values.map { |s| s.length }.max || 0
490
+ leftcol_width = left.values.map(&:length).max || 0
493
491
  rightcol_start = leftcol_width + 6 # spaces
494
492
 
495
493
  unless @order.size > 0 && @order.first.first == :text
496
- stream.puts "#@version\n" if @version
494
+ stream.puts "#{@version}\n" if @version
497
495
  stream.puts _("Options:")
498
496
  end
499
497
 
@@ -582,11 +580,14 @@ class CommandLine
582
580
  remains += args[(i + 1)..]
583
581
  return remains
584
582
  when /^--(\S+?)=(.*)$/ # long argument with equals
585
- yield "--#{$1}", [$2]
583
+ yield "--#{::Regexp.last_match(1)}", [::Regexp.last_match(2)]
586
584
  i += 1
587
585
  when /^--(\S+)$/ # long argument
588
586
  params = collect_argument_parameters(args, i + 1)
589
- unless params.empty?
587
+ if params.empty? # long argument no parameter
588
+ yield args[i], nil
589
+ i += 1
590
+ else
590
591
  num_params_taken = yield args[i], params
591
592
  unless num_params_taken
592
593
  if @stop_on_unknown
@@ -597,16 +598,16 @@ class CommandLine
597
598
  end
598
599
  end
599
600
  i += 1 + num_params_taken
600
- else # long argument no parameter
601
- yield args[i], nil
602
- i += 1
603
601
  end
604
602
  when /^-(\S+)$/ # one or more short arguments
605
- shortargs = $1.split(//)
603
+ shortargs = ::Regexp.last_match(1).split(//)
606
604
  shortargs.each_with_index do |a, j|
607
605
  if j == (shortargs.length - 1)
608
606
  params = collect_argument_parameters(args, i + 1)
609
- unless params.empty?
607
+ if params.empty? # argument no parameter
608
+ yield "-#{a}", nil
609
+ i += 1
610
+ else
610
611
  num_params_taken = yield "-#{a}", params
611
612
  unless num_params_taken
612
613
  if @stop_on_unknown
@@ -617,9 +618,6 @@ class CommandLine
617
618
  end
618
619
  end
619
620
  i += 1 + num_params_taken
620
- else # argument no parameter
621
- yield "-#{a}", nil
622
- i += 1
623
621
  end
624
622
  else
625
623
  yield "-#{a}", nil
@@ -667,7 +665,7 @@ class CommandLine
667
665
  def collect_argument_parameters args, start_at
668
666
  params = []
669
667
  pos = start_at
670
- while args[pos] && args[pos] !~ PARAM_RE && !@stop_words.member?(args[pos]) do
668
+ while args[pos] && args[pos] !~ PARAM_RE && !@stop_words.member?(args[pos])
671
669
  params << args[pos]
672
670
  pos += 1
673
671
  end
@@ -784,19 +782,17 @@ class CommandLine
784
782
  ## Requires passing in the parser object.
785
783
 
786
784
  def with_standard_exception_handling parser
787
- begin
788
- yield
789
- rescue CommandlineError => e
790
- $stderr.puts _("Error: %{value0}.") % { value0: e.message }
791
- $stderr.puts _("Try --help for help.")
792
- exit(-1)
793
- rescue HelpNeeded
794
- parser.educate
795
- exit
796
- rescue VersionNeeded
797
- puts parser.version
798
- exit
799
- end
785
+ yield
786
+ rescue CommandlineError => e
787
+ $stderr.puts _("Error: %{value0}.") % { value0: e.message }
788
+ $stderr.puts _("Try --help for help.")
789
+ exit(-1)
790
+ rescue HelpNeeded
791
+ parser.educate
792
+ exit
793
+ rescue VersionNeeded
794
+ puts parser.version
795
+ exit
800
796
  end
801
797
 
802
798
  ## Informs the user that their usage of 'arg' was wrong, as detailed by
@@ -4,7 +4,7 @@
4
4
  # load gems. If Bundler is loaded, let it determine what can be
5
5
  # loaded. If it's not loaded, then use rubygems. But do this before
6
6
  # loading any puppet code, so that our gem loading system is sane.
7
- if not defined? ::Bundler
7
+ unless defined? ::Bundler
8
8
  begin
9
9
  require 'rubygems'
10
10
  rescue LoadError
@@ -31,7 +31,7 @@ module Puppet
31
31
  # @param zero [String] the name of the executable
32
32
  # @param argv [Array<String>] the arguments passed on the command line
33
33
  # @param stdin [IO] (unused)
34
- def initialize(zero = $0, argv = ARGV, stdin = STDIN)
34
+ def initialize(zero = $PROGRAM_NAME, argv = ARGV, stdin = STDIN)
35
35
  @command = File.basename(zero, '.rb')
36
36
  @argv = argv
37
37
  end
@@ -12,12 +12,12 @@ module Puppet
12
12
  module Util
13
13
  module ConstantInflector
14
14
  def file2constant(file)
15
- file.split("/").collect { |name| name.capitalize }.join("::").gsub(/_+(.)/) { |_term| $1.capitalize }
15
+ file.split("/").collect(&:capitalize).join("::").gsub(/_+(.)/) { |_term| ::Regexp.last_match(1).capitalize }
16
16
  end
17
17
  module_function :file2constant
18
18
 
19
19
  def constant2file(constant)
20
- constant.to_s.gsub(/([a-z])([A-Z])/) { |_term| $1 + "_#{$2}" }.gsub("::", "/").downcase
20
+ constant.to_s.gsub(/([a-z])([A-Z])/) { |_term| ::Regexp.last_match(1) + "_#{::Regexp.last_match(2)}" }.gsub("::", "/").downcase
21
21
  end
22
22
  module_function :constant2file
23
23
  end
@@ -32,8 +32,8 @@ module Puppet::Util::Diff
32
32
  Puppet.warning _("Cannot provide diff without the diff/lcs Ruby library")
33
33
  return ""
34
34
  end
35
- data_old = data_old.split(/\n/).map! { |e| e.chomp }
36
- data_new = data_new.split(/\n/).map! { |e| e.chomp }
35
+ data_old = data_old.split(/\n/).map!(&:chomp)
36
+ data_new = data_new.split(/\n/).map!(&:chomp)
37
37
 
38
38
  output = ''.dup
39
39
 
@@ -44,27 +44,25 @@ module Puppet::Util::Diff
44
44
  file_length_difference = 0
45
45
 
46
46
  diffs.each do |piece|
47
- begin
48
- hunk = ::Diff::LCS::Hunk.new(
49
- data_old, data_new, piece,
50
- context_lines,
51
- file_length_difference
52
- )
53
- file_length_difference = hunk.file_length_difference
54
- next unless oldhunk
47
+ hunk = ::Diff::LCS::Hunk.new(
48
+ data_old, data_new, piece,
49
+ context_lines,
50
+ file_length_difference
51
+ )
52
+ file_length_difference = hunk.file_length_difference
53
+ next unless oldhunk
55
54
 
56
- # Hunks may overlap, which is why we need to be careful when our
57
- # diff includes lines of context. Otherwise, we might print
58
- # redundant lines.
59
- if (context_lines > 0) and hunk.overlaps?(oldhunk)
60
- hunk.unshift(oldhunk)
61
- else
62
- output << oldhunk.diff(format)
63
- end
64
- ensure
65
- oldhunk = hunk
66
- output << "\n"
55
+ # Hunks may overlap, which is why we need to be careful when our
56
+ # diff includes lines of context. Otherwise, we might print
57
+ # redundant lines.
58
+ if (context_lines > 0) and hunk.overlaps?(oldhunk)
59
+ hunk.unshift(oldhunk)
60
+ else
61
+ output << oldhunk.diff(format)
67
62
  end
63
+ ensure
64
+ oldhunk = hunk
65
+ output << "\n"
68
66
  end
69
67
 
70
68
  # Handle the last remaining hunk
@@ -21,7 +21,7 @@ module Puppet::Util::Docs
21
21
  # Generate the full doc string.
22
22
  def doc
23
23
  extra = methods.find_all { |m| m.to_s =~ /^dochook_.+/ }.sort.filter_map { |m|
24
- self.send(m)
24
+ send(m)
25
25
  }.collect { |r| "* #{r}" }.join("\n")
26
26
 
27
27
  if @doc
@@ -125,7 +125,7 @@ module Puppet::Util::Docs
125
125
  text = text.gsub(/^#{indent}/, '')
126
126
  end
127
127
  # Clean trailing space
128
- text.lines.map { |line| line.rstrip }.join("\n").rstrip
128
+ text.lines.map(&:rstrip).join("\n").rstrip
129
129
  end
130
130
 
131
131
  module_function :scrub
@@ -22,8 +22,8 @@ module Puppet::Util::Errors
22
22
  # @param other [Exception] original exception, source of backtrace info
23
23
  # @return [Exception] error parameter
24
24
  def adderrorcontext(error, other = nil)
25
- error.line ||= self.line if error.respond_to?(:line=) and self.respond_to?(:line) and self.line
26
- error.file ||= self.file if error.respond_to?(:file=) and self.respond_to?(:file) and self.file
25
+ error.line ||= line if error.respond_to?(:line=) and respond_to?(:line) and line
26
+ error.file ||= file if error.respond_to?(:file=) and respond_to?(:file) and file
27
27
  error.original ||= other if error.respond_to?(:original=)
28
28
 
29
29
  error.set_backtrace(other.backtrace) if other and other.respond_to?(:backtrace)
@@ -42,9 +42,9 @@ module Puppet::Util::Errors
42
42
  # @return [String] description of file, line, and column
43
43
  #
44
44
  def self.error_location(file, line = nil, column = nil)
45
- file = nil if (file.is_a?(String) && file.empty?)
46
- line = nil if (line.is_a?(String) && line.empty?)
47
- column = nil if (column.is_a?(String) && column.empty?)
45
+ file = nil if file.is_a?(String) && file.empty?
46
+ line = nil if line.is_a?(String) && line.empty?
47
+ column = nil if column.is_a?(String) && column.empty?
48
48
  if file and line and column
49
49
  _("(file: %{file}, line: %{line}, column: %{column})") % { file: file, line: line, column: column }
50
50
  elsif file and line
@@ -85,10 +85,10 @@ module Puppet::Util::Errors
85
85
  # @param line [String] the line number for the error (nil or "", for not known)
86
86
  # @return [String] description of file, and line
87
87
  def self.error_location_with_unknowns(file, line)
88
- file = nil if (file.is_a?(String) && file.empty?)
89
- line = nil if (line.is_a?(String) && line.empty?)
90
- file = _('unknown') unless file
91
- line = _('unknown') unless line
88
+ file = nil if file.is_a?(String) && file.empty?
89
+ line = nil if line.is_a?(String) && line.empty?
90
+ file ||= _('unknown')
91
+ line ||= _('unknown')
92
92
  error_location(file, line)
93
93
  end
94
94