puppet 8.5.1-universal-darwin → 8.7.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 (581) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +55 -48
  4. data/Rakefile +45 -22
  5. data/examples/hiera/README.md +68 -57
  6. data/examples/hiera/data/common.yaml +12 -0
  7. data/examples/hiera/data/dc1.yaml +6 -0
  8. data/examples/hiera/hiera.yaml +15 -0
  9. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  10. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  11. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  12. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  13. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  14. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  15. data/examples/hiera/site.pp +1 -1
  16. data/ext/project_data.yaml +0 -45
  17. data/ext/windows/service/daemon.rb +49 -55
  18. data/lib/hiera/scope.rb +3 -3
  19. data/lib/hiera_puppet.rb +1 -1
  20. data/lib/puppet/agent/disabler.rb +1 -1
  21. data/lib/puppet/application/agent.rb +2 -2
  22. data/lib/puppet/application/apply.rb +2 -2
  23. data/lib/puppet/application/describe.rb +6 -6
  24. data/lib/puppet/application/device.rb +99 -100
  25. data/lib/puppet/application/doc.rb +1 -1
  26. data/lib/puppet/application/face_base.rb +7 -7
  27. data/lib/puppet/application/filebucket.rb +1 -1
  28. data/lib/puppet/application/lookup.rb +5 -5
  29. data/lib/puppet/application/resource.rb +10 -3
  30. data/lib/puppet/application/ssl.rb +3 -3
  31. data/lib/puppet/application.rb +16 -18
  32. data/lib/puppet/coercion.rb +1 -1
  33. data/lib/puppet/configurer/downloader.rb +9 -4
  34. data/lib/puppet/configurer/fact_handler.rb +12 -13
  35. data/lib/puppet/configurer.rb +16 -18
  36. data/lib/puppet/confine/feature.rb +1 -1
  37. data/lib/puppet/confine/variable.rb +1 -1
  38. data/lib/puppet/confine.rb +2 -2
  39. data/lib/puppet/confine_collection.rb +1 -1
  40. data/lib/puppet/confiner.rb +2 -2
  41. data/lib/puppet/daemon.rb +4 -3
  42. data/lib/puppet/datatypes.rb +5 -6
  43. data/lib/puppet/defaults.rb +14 -8
  44. data/lib/puppet/environments.rb +3 -7
  45. data/lib/puppet/error.rb +3 -3
  46. data/lib/puppet/external/dot.rb +42 -34
  47. data/lib/puppet/face/catalog/select.rb +1 -1
  48. data/lib/puppet/face/epp.rb +7 -9
  49. data/lib/puppet/face/help.rb +12 -12
  50. data/lib/puppet/face/module/changes.rb +1 -3
  51. data/lib/puppet/face/module/list.rb +37 -37
  52. data/lib/puppet/face/node/clean.rb +1 -1
  53. data/lib/puppet/face/parser.rb +6 -8
  54. data/lib/puppet/face/report.rb +5 -7
  55. data/lib/puppet/facter_impl.rb +1 -1
  56. data/lib/puppet/feature/base.rb +9 -11
  57. data/lib/puppet/feature/pe_license.rb +1 -1
  58. data/lib/puppet/feature/ssh.rb +1 -1
  59. data/lib/puppet/feature/telnet.rb +3 -5
  60. data/lib/puppet/feature/zlib.rb +1 -1
  61. data/lib/puppet/ffi/windows/constants.rb +1 -1
  62. data/lib/puppet/ffi/windows/functions.rb +2 -2
  63. data/lib/puppet/ffi/windows/structs.rb +3 -3
  64. data/lib/puppet/file_bucket/dipper.rb +4 -4
  65. data/lib/puppet/file_bucket/file.rb +4 -4
  66. data/lib/puppet/file_serving/base.rb +5 -5
  67. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  68. data/lib/puppet/file_serving/configuration.rb +3 -3
  69. data/lib/puppet/file_serving/fileset.rb +13 -13
  70. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  71. data/lib/puppet/file_serving/metadata.rb +13 -9
  72. data/lib/puppet/file_serving/mount/file.rb +6 -6
  73. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  74. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  75. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  76. data/lib/puppet/file_serving/mount.rb +1 -1
  77. data/lib/puppet/file_system/file_impl.rb +3 -3
  78. data/lib/puppet/file_system/memory_impl.rb +1 -1
  79. data/lib/puppet/file_system/path_pattern.rb +1 -1
  80. data/lib/puppet/file_system/uniquefile.rb +17 -16
  81. data/lib/puppet/file_system/windows.rb +26 -18
  82. data/lib/puppet/forge/cache.rb +2 -2
  83. data/lib/puppet/forge/errors.rb +1 -1
  84. data/lib/puppet/forge/repository.rb +2 -2
  85. data/lib/puppet/forge.rb +13 -19
  86. data/lib/puppet/functions/abs.rb +2 -2
  87. data/lib/puppet/functions/camelcase.rb +1 -1
  88. data/lib/puppet/functions/compare.rb +2 -2
  89. data/lib/puppet/functions/contain.rb +1 -1
  90. data/lib/puppet/functions/defined.rb +2 -2
  91. data/lib/puppet/functions/dig.rb +1 -1
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  93. data/lib/puppet/functions/get.rb +1 -1
  94. data/lib/puppet/functions/hocon_data.rb +3 -5
  95. data/lib/puppet/functions/import.rb +1 -1
  96. data/lib/puppet/functions/json_data.rb +4 -6
  97. data/lib/puppet/functions/max.rb +2 -2
  98. data/lib/puppet/functions/min.rb +2 -2
  99. data/lib/puppet/functions/new.rb +1 -1
  100. data/lib/puppet/functions/reduce.rb +6 -10
  101. data/lib/puppet/functions/regsubst.rb +2 -2
  102. data/lib/puppet/functions/require.rb +1 -1
  103. data/lib/puppet/functions/yaml_data.rb +11 -13
  104. data/lib/puppet/functions.rb +32 -37
  105. data/lib/puppet/generate/type.rb +2 -2
  106. data/lib/puppet/gettext/config.rb +9 -9
  107. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  108. data/lib/puppet/graph/relationship_graph.rb +12 -12
  109. data/lib/puppet/graph/simple_graph.rb +8 -10
  110. data/lib/puppet/http/client.rb +1 -1
  111. data/lib/puppet/http/dns.rb +4 -4
  112. data/lib/puppet/http/external_client.rb +1 -1
  113. data/lib/puppet/http/factory.rb +1 -1
  114. data/lib/puppet/http/proxy.rb +15 -15
  115. data/lib/puppet/http/redirector.rb +6 -2
  116. data/lib/puppet/http/resolver.rb +2 -2
  117. data/lib/puppet/http/retry_after_handler.rb +2 -2
  118. data/lib/puppet/http/service/ca.rb +1 -1
  119. data/lib/puppet/http/service/compiler.rb +4 -4
  120. data/lib/puppet/http/service/file_server.rb +1 -1
  121. data/lib/puppet/http/service/report.rb +2 -2
  122. data/lib/puppet/http/service.rb +9 -13
  123. data/lib/puppet/http/session.rb +1 -1
  124. data/lib/puppet/http/site.rb +1 -1
  125. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  126. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  127. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  128. data/lib/puppet/indirector/exec.rb +2 -2
  129. data/lib/puppet/indirector/face.rb +7 -9
  130. data/lib/puppet/indirector/fact_search.rb +1 -1
  131. data/lib/puppet/indirector/facts/facter.rb +6 -6
  132. data/lib/puppet/indirector/facts/json.rb +1 -1
  133. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  134. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  135. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  136. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  137. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  138. data/lib/puppet/indirector/hiera.rb +1 -1
  139. data/lib/puppet/indirector/indirection.rb +27 -29
  140. data/lib/puppet/indirector/json.rb +4 -4
  141. data/lib/puppet/indirector/memory.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +5 -5
  143. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  144. data/lib/puppet/indirector/none.rb +1 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/yaml.rb +1 -1
  147. data/lib/puppet/indirector/request.rb +4 -4
  148. data/lib/puppet/indirector/resource/ral.rb +2 -4
  149. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  150. data/lib/puppet/indirector/terminus.rb +4 -4
  151. data/lib/puppet/indirector/yaml.rb +3 -3
  152. data/lib/puppet/info_service/class_information_service.rb +5 -8
  153. data/lib/puppet/info_service/task_information_service.rb +6 -7
  154. data/lib/puppet/interface/action.rb +5 -5
  155. data/lib/puppet/interface/action_manager.rb +5 -5
  156. data/lib/puppet/interface/documentation.rb +5 -5
  157. data/lib/puppet/interface/face_collection.rb +7 -7
  158. data/lib/puppet/interface/option.rb +2 -2
  159. data/lib/puppet/interface/option_manager.rb +6 -6
  160. data/lib/puppet/interface.rb +4 -4
  161. data/lib/puppet/metatype/manager.rb +2 -2
  162. data/lib/puppet/module/plan.rb +10 -10
  163. data/lib/puppet/module/task.rb +8 -8
  164. data/lib/puppet/module.rb +39 -41
  165. data/lib/puppet/module_tool/applications/application.rb +10 -8
  166. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  167. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  168. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  169. data/lib/puppet/module_tool/checksums.rb +2 -2
  170. data/lib/puppet/module_tool/dependency.rb +1 -1
  171. data/lib/puppet/module_tool/errors/base.rb +1 -1
  172. data/lib/puppet/module_tool/install_directory.rb +1 -1
  173. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  174. data/lib/puppet/module_tool/metadata.rb +12 -8
  175. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  176. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  177. data/lib/puppet/module_tool.rb +4 -4
  178. data/lib/puppet/network/client_request.rb +5 -3
  179. data/lib/puppet/network/format.rb +2 -2
  180. data/lib/puppet/network/format_support.rb +1 -1
  181. data/lib/puppet/network/formats.rb +1 -1
  182. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  183. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  184. data/lib/puppet/network/http/connection.rb +1 -1
  185. data/lib/puppet/network/http/handler.rb +8 -12
  186. data/lib/puppet/network/http/request.rb +1 -1
  187. data/lib/puppet/network/http/route.rb +9 -9
  188. data/lib/puppet/node/environment.rb +21 -23
  189. data/lib/puppet/node/facts.rb +1 -1
  190. data/lib/puppet/node.rb +5 -5
  191. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  192. data/lib/puppet/pal/pal_impl.rb +48 -50
  193. data/lib/puppet/pal/plan_signature.rb +1 -1
  194. data/lib/puppet/pal/task_signature.rb +1 -1
  195. data/lib/puppet/parameter/package_options.rb +1 -1
  196. data/lib/puppet/parameter/value.rb +2 -2
  197. data/lib/puppet/parameter/value_collection.rb +7 -7
  198. data/lib/puppet/parameter.rb +8 -9
  199. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  200. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  201. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  202. data/lib/puppet/parser/ast/resource.rb +4 -4
  203. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  204. data/lib/puppet/parser/ast.rb +14 -15
  205. data/lib/puppet/parser/compiler.rb +26 -28
  206. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  207. data/lib/puppet/parser/functions/fail.rb +1 -1
  208. data/lib/puppet/parser/functions/generate.rb +2 -2
  209. data/lib/puppet/parser/functions/tag.rb +1 -1
  210. data/lib/puppet/parser/functions.rb +2 -2
  211. data/lib/puppet/parser/relationship.rb +3 -1
  212. data/lib/puppet/parser/resource/param.rb +2 -2
  213. data/lib/puppet/parser/resource.rb +23 -23
  214. data/lib/puppet/parser/scope.rb +10 -10
  215. data/lib/puppet/parser/script_compiler.rb +1 -1
  216. data/lib/puppet/parser/templatewrapper.rb +1 -1
  217. data/lib/puppet/parser/type_loader.rb +10 -12
  218. data/lib/puppet/parser.rb +1 -1
  219. data/lib/puppet/pops/adaptable.rb +1 -1
  220. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  221. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  222. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  223. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  224. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  225. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  226. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  227. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  228. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  229. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  230. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  231. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  232. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  233. data/lib/puppet/pops/functions/function.rb +14 -16
  234. data/lib/puppet/pops/issue_reporter.rb +2 -2
  235. data/lib/puppet/pops/label_provider.rb +2 -2
  236. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  237. data/lib/puppet/pops/loader/loader.rb +4 -4
  238. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  239. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  240. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  241. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  242. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  243. data/lib/puppet/pops/loader/static_loader.rb +5 -5
  244. data/lib/puppet/pops/loaders.rb +3 -3
  245. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  246. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  247. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  248. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  249. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  250. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  251. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  252. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  253. data/lib/puppet/pops/lookup/module_data_provider.rb +9 -9
  254. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  255. data/lib/puppet/pops/merge_strategy.rb +6 -6
  256. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  257. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  258. data/lib/puppet/pops/model/factory.rb +4 -5
  259. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  260. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  261. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  262. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  263. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  264. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  265. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  266. data/lib/puppet/pops/parser/locator.rb +4 -4
  267. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  268. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  269. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  270. data/lib/puppet/pops/patterns.rb +12 -12
  271. data/lib/puppet/pops/pcore.rb +1 -1
  272. data/lib/puppet/pops/pn.rb +2 -2
  273. data/lib/puppet/pops/puppet_stack.rb +1 -1
  274. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  275. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  276. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  277. data/lib/puppet/pops/time/timestamp.rb +1 -1
  278. data/lib/puppet/pops/types/class_loader.rb +4 -6
  279. data/lib/puppet/pops/types/iterable.rb +1 -1
  280. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  281. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  282. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  283. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  284. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  285. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  286. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  287. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  288. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  289. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  290. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  291. data/lib/puppet/pops/types/string_converter.rb +12 -8
  292. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  293. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  294. data/lib/puppet/pops/types/type_factory.rb +7 -3
  295. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  296. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  297. data/lib/puppet/pops/types/types.rb +28 -24
  298. data/lib/puppet/pops/utils.rb +38 -42
  299. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  300. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  301. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  302. data/lib/puppet/pops/validation.rb +4 -4
  303. data/lib/puppet/pops/visitor.rb +2 -2
  304. data/lib/puppet/property/ensure.rb +12 -14
  305. data/lib/puppet/property/keyvalue.rb +4 -4
  306. data/lib/puppet/property/list.rb +4 -4
  307. data/lib/puppet/property/ordered_list.rb +1 -1
  308. data/lib/puppet/property.rb +31 -33
  309. data/lib/puppet/provider/aix_object.rb +1 -1
  310. data/lib/puppet/provider/exec.rb +2 -2
  311. data/lib/puppet/provider/file/posix.rb +19 -17
  312. data/lib/puppet/provider/file/windows.rb +13 -19
  313. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  314. data/lib/puppet/provider/group/groupadd.rb +32 -11
  315. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  316. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  317. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  318. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  319. data/lib/puppet/provider/nameservice.rb +8 -8
  320. data/lib/puppet/provider/package/aix.rb +19 -19
  321. data/lib/puppet/provider/package/appdmg.rb +2 -2
  322. data/lib/puppet/provider/package/apple.rb +1 -1
  323. data/lib/puppet/provider/package/apt.rb +18 -18
  324. data/lib/puppet/provider/package/aptitude.rb +1 -3
  325. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  326. data/lib/puppet/provider/package/blastwave.rb +10 -14
  327. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  328. data/lib/puppet/provider/package/dpkg.rb +11 -13
  329. data/lib/puppet/provider/package/fink.rb +14 -14
  330. data/lib/puppet/provider/package/freebsd.rb +1 -1
  331. data/lib/puppet/provider/package/gem.rb +12 -14
  332. data/lib/puppet/provider/package/macports.rb +2 -2
  333. data/lib/puppet/provider/package/nim.rb +10 -10
  334. data/lib/puppet/provider/package/openbsd.rb +22 -22
  335. data/lib/puppet/provider/package/opkg.rb +6 -6
  336. data/lib/puppet/provider/package/pacman.rb +35 -29
  337. data/lib/puppet/provider/package/pip.rb +25 -24
  338. data/lib/puppet/provider/package/pkg.rb +15 -15
  339. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  340. data/lib/puppet/provider/package/pkgin.rb +2 -2
  341. data/lib/puppet/provider/package/pkgng.rb +5 -5
  342. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  343. data/lib/puppet/provider/package/portage.rb +59 -61
  344. data/lib/puppet/provider/package/ports.rb +12 -11
  345. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  346. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  347. data/lib/puppet/provider/package/rpm.rb +26 -26
  348. data/lib/puppet/provider/package/rug.rb +7 -9
  349. data/lib/puppet/provider/package/sun.rb +4 -4
  350. data/lib/puppet/provider/package/up2date.rb +5 -7
  351. data/lib/puppet/provider/package/urpmi.rb +6 -6
  352. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  353. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  354. data/lib/puppet/provider/package/windows/package.rb +2 -2
  355. data/lib/puppet/provider/package/windows.rb +3 -5
  356. data/lib/puppet/provider/package/xbps.rb +127 -0
  357. data/lib/puppet/provider/package/yum.rb +33 -37
  358. data/lib/puppet/provider/package/zypper.rb +12 -14
  359. data/lib/puppet/provider/package.rb +1 -1
  360. data/lib/puppet/provider/package_targetable.rb +1 -1
  361. data/lib/puppet/provider/parsedfile.rb +9 -9
  362. data/lib/puppet/provider/service/base.rb +16 -21
  363. data/lib/puppet/provider/service/bsd.rb +4 -4
  364. data/lib/puppet/provider/service/daemontools.rb +31 -31
  365. data/lib/puppet/provider/service/debian.rb +6 -6
  366. data/lib/puppet/provider/service/freebsd.rb +36 -36
  367. data/lib/puppet/provider/service/gentoo.rb +6 -6
  368. data/lib/puppet/provider/service/init.rb +19 -19
  369. data/lib/puppet/provider/service/launchd.rb +22 -22
  370. data/lib/puppet/provider/service/openbsd.rb +10 -10
  371. data/lib/puppet/provider/service/openrc.rb +1 -1
  372. data/lib/puppet/provider/service/openwrt.rb +3 -3
  373. data/lib/puppet/provider/service/rcng.rb +3 -3
  374. data/lib/puppet/provider/service/redhat.rb +4 -4
  375. data/lib/puppet/provider/service/runit.rb +6 -6
  376. data/lib/puppet/provider/service/service.rb +5 -7
  377. data/lib/puppet/provider/service/smf.rb +28 -27
  378. data/lib/puppet/provider/service/src.rb +7 -7
  379. data/lib/puppet/provider/service/systemd.rb +31 -37
  380. data/lib/puppet/provider/service/upstart.rb +17 -17
  381. data/lib/puppet/provider/service/windows.rb +7 -7
  382. data/lib/puppet/provider/user/aix.rb +4 -2
  383. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  384. data/lib/puppet/provider/user/hpux.rb +10 -14
  385. data/lib/puppet/provider/user/pw.rb +1 -1
  386. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  387. data/lib/puppet/provider/user/useradd.rb +7 -7
  388. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  389. data/lib/puppet/provider.rb +8 -8
  390. data/lib/puppet/reference/indirection.rb +3 -0
  391. data/lib/puppet/reference/metaparameter.rb +1 -1
  392. data/lib/puppet/reference/providers.rb +3 -3
  393. data/lib/puppet/reference/type.rb +1 -1
  394. data/lib/puppet/relationship.rb +4 -5
  395. data/lib/puppet/reports/http.rb +1 -1
  396. data/lib/puppet/reports/log.rb +2 -2
  397. data/lib/puppet/reports/store.rb +4 -4
  398. data/lib/puppet/reports.rb +2 -2
  399. data/lib/puppet/resource/catalog.rb +16 -16
  400. data/lib/puppet/resource/status.rb +3 -3
  401. data/lib/puppet/resource/type.rb +8 -8
  402. data/lib/puppet/resource/type_collection.rb +1 -1
  403. data/lib/puppet/resource.rb +41 -41
  404. data/lib/puppet/scheduler/scheduler.rb +1 -1
  405. data/lib/puppet/scheduler/splay_job.rb +9 -0
  406. data/lib/puppet/settings/alias_setting.rb +3 -5
  407. data/lib/puppet/settings/base_setting.rb +11 -11
  408. data/lib/puppet/settings/boolean_setting.rb +2 -2
  409. data/lib/puppet/settings/config_file.rb +5 -4
  410. data/lib/puppet/settings/duration_setting.rb +2 -2
  411. data/lib/puppet/settings/environment_conf.rb +3 -3
  412. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  413. data/lib/puppet/settings/file_setting.rb +11 -11
  414. data/lib/puppet/settings/ini_file.rb +3 -3
  415. data/lib/puppet/settings/port_setting.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +2 -2
  417. data/lib/puppet/settings/ttl_setting.rb +2 -2
  418. data/lib/puppet/settings/value_translator.rb +8 -8
  419. data/lib/puppet/settings.rb +65 -70
  420. data/lib/puppet/ssl/base.rb +2 -4
  421. data/lib/puppet/ssl/certificate_request.rb +18 -22
  422. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  423. data/lib/puppet/ssl/oids.rb +2 -2
  424. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  425. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  426. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  427. data/lib/puppet/syntax_checkers/json.rb +3 -3
  428. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  429. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  430. data/lib/puppet/transaction/event.rb +2 -2
  431. data/lib/puppet/transaction/event_manager.rb +5 -5
  432. data/lib/puppet/transaction/persistence.rb +12 -14
  433. data/lib/puppet/transaction/report.rb +4 -4
  434. data/lib/puppet/transaction/resource_harness.rb +2 -2
  435. data/lib/puppet/transaction.rb +14 -18
  436. data/lib/puppet/type/component.rb +3 -3
  437. data/lib/puppet/type/exec.rb +51 -45
  438. data/lib/puppet/type/file/checksum_value.rb +1 -1
  439. data/lib/puppet/type/file/content.rb +6 -6
  440. data/lib/puppet/type/file/ctime.rb +2 -2
  441. data/lib/puppet/type/file/data_sync.rb +3 -3
  442. data/lib/puppet/type/file/ensure.rb +16 -15
  443. data/lib/puppet/type/file/mode.rb +9 -9
  444. data/lib/puppet/type/file/mtime.rb +2 -2
  445. data/lib/puppet/type/file/selcontext.rb +14 -14
  446. data/lib/puppet/type/file/source.rb +19 -21
  447. data/lib/puppet/type/file/target.rb +11 -11
  448. data/lib/puppet/type/file.rb +21 -21
  449. data/lib/puppet/type/filebucket.rb +3 -3
  450. data/lib/puppet/type/group.rb +3 -3
  451. data/lib/puppet/type/notify.rb +2 -2
  452. data/lib/puppet/type/package.rb +4 -4
  453. data/lib/puppet/type/resources.rb +6 -6
  454. data/lib/puppet/type/schedule.rb +9 -9
  455. data/lib/puppet/type/service.rb +6 -8
  456. data/lib/puppet/type/tidy.rb +22 -24
  457. data/lib/puppet/type/user.rb +13 -13
  458. data/lib/puppet/type.rb +76 -88
  459. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  460. data/lib/puppet/util/autoload.rb +2 -2
  461. data/lib/puppet/util/backups.rb +9 -9
  462. data/lib/puppet/util/character_encoding.rb +7 -6
  463. data/lib/puppet/util/checksums.rb +2 -2
  464. data/lib/puppet/util/classgen.rb +8 -8
  465. data/lib/puppet/util/colors.rb +1 -1
  466. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  467. data/lib/puppet/util/command_line/trollop.rb +60 -46
  468. data/lib/puppet/util/command_line.rb +2 -2
  469. data/lib/puppet/util/constant_inflector.rb +2 -2
  470. data/lib/puppet/util/diff.rb +19 -21
  471. data/lib/puppet/util/docs.rb +2 -2
  472. data/lib/puppet/util/errors.rb +9 -9
  473. data/lib/puppet/util/execution.rb +32 -9
  474. data/lib/puppet/util/feature.rb +1 -1
  475. data/lib/puppet/util/fileparsing.rb +12 -16
  476. data/lib/puppet/util/filetype.rb +36 -40
  477. data/lib/puppet/util/inifile.rb +6 -12
  478. data/lib/puppet/util/ldap/connection.rb +1 -1
  479. data/lib/puppet/util/ldap/manager.rb +10 -12
  480. data/lib/puppet/util/lockfile.rb +6 -8
  481. data/lib/puppet/util/log/destination.rb +2 -2
  482. data/lib/puppet/util/log/destinations.rb +4 -4
  483. data/lib/puppet/util/log.rb +12 -9
  484. data/lib/puppet/util/logging.rb +11 -11
  485. data/lib/puppet/util/metric.rb +3 -3
  486. data/lib/puppet/util/monkey_patches.rb +5 -7
  487. data/lib/puppet/util/network_device/config.rb +3 -3
  488. data/lib/puppet/util/package/version/debian.rb +27 -28
  489. data/lib/puppet/util/package/version/pip.rb +5 -5
  490. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  491. data/lib/puppet/util/package/version/rpm.rb +1 -1
  492. data/lib/puppet/util/package.rb +2 -2
  493. data/lib/puppet/util/pidlock.rb +2 -2
  494. data/lib/puppet/util/platform.rb +1 -1
  495. data/lib/puppet/util/plist.rb +8 -10
  496. data/lib/puppet/util/posix.rb +17 -17
  497. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  498. data/lib/puppet/util/provider_features.rb +3 -3
  499. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  500. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  501. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  502. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  503. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  504. data/lib/puppet/util/rdoc/parser.rb +1 -1
  505. data/lib/puppet/util/reference.rb +13 -9
  506. data/lib/puppet/util/retry_action.rb +1 -1
  507. data/lib/puppet/util/rpm_compare.rb +18 -19
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +7 -7
  510. data/lib/puppet/util/storage.rb +10 -12
  511. data/lib/puppet/util/suidmanager.rb +18 -19
  512. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  513. data/lib/puppet/util/tag_set.rb +2 -2
  514. data/lib/puppet/util/tagging.rb +8 -10
  515. data/lib/puppet/util/terminal.rb +4 -4
  516. data/lib/puppet/util/user_attr.rb +7 -7
  517. data/lib/puppet/util/watcher.rb +3 -5
  518. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  519. data/lib/puppet/util/windows/adsi.rb +42 -42
  520. data/lib/puppet/util/windows/com.rb +2 -2
  521. data/lib/puppet/util/windows/daemon.rb +64 -68
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +18 -25
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  525. data/lib/puppet/util/windows/principal.rb +8 -8
  526. data/lib/puppet/util/windows/process.rb +16 -28
  527. data/lib/puppet/util/windows/registry.rb +16 -15
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +31 -31
  530. data/lib/puppet/util/windows/service.rb +11 -11
  531. data/lib/puppet/util/windows/sid.rb +8 -8
  532. data/lib/puppet/util/windows/user.rb +18 -20
  533. data/lib/puppet/util/yaml.rb +1 -1
  534. data/lib/puppet/util.rb +55 -46
  535. data/lib/puppet/version.rb +2 -2
  536. data/lib/puppet/x509/pem_store.rb +1 -1
  537. data/lib/puppet.rb +3 -3
  538. data/locales/puppet.pot +604 -600
  539. data/man/man5/puppet.conf.5 +10 -2
  540. data/man/man8/puppet-agent.8 +1 -1
  541. data/man/man8/puppet-apply.8 +1 -1
  542. data/man/man8/puppet-catalog.8 +1 -1
  543. data/man/man8/puppet-config.8 +1 -1
  544. data/man/man8/puppet-describe.8 +1 -1
  545. data/man/man8/puppet-device.8 +1 -1
  546. data/man/man8/puppet-doc.8 +1 -1
  547. data/man/man8/puppet-epp.8 +1 -1
  548. data/man/man8/puppet-facts.8 +1 -1
  549. data/man/man8/puppet-filebucket.8 +1 -1
  550. data/man/man8/puppet-generate.8 +1 -1
  551. data/man/man8/puppet-help.8 +1 -1
  552. data/man/man8/puppet-lookup.8 +1 -1
  553. data/man/man8/puppet-module.8 +1 -1
  554. data/man/man8/puppet-node.8 +1 -1
  555. data/man/man8/puppet-parser.8 +1 -1
  556. data/man/man8/puppet-plugin.8 +1 -1
  557. data/man/man8/puppet-report.8 +1 -1
  558. data/man/man8/puppet-resource.8 +5 -1
  559. data/man/man8/puppet-script.8 +1 -1
  560. data/man/man8/puppet-ssl.8 +1 -1
  561. data/man/man8/puppet.8 +2 -2
  562. metadata +23 -27
  563. data/examples/hiera/etc/hiera.yaml +0 -15
  564. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  565. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  566. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  567. data/examples/hiera/etc/puppet.conf +0 -3
  568. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  569. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  570. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  571. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  572. data/tasks/benchmark.rake +0 -180
  573. data/tasks/cfpropertylist.rake +0 -15
  574. data/tasks/ci.rake +0 -24
  575. data/tasks/generate_ast_model.rake +0 -90
  576. data/tasks/generate_cert_fixtures.rake +0 -199
  577. data/tasks/manpages.rake +0 -67
  578. data/tasks/memwalk.rake +0 -195
  579. data/tasks/parallel.rake +0 -410
  580. data/tasks/parser.rake +0 -22
  581. data/tasks/yard.rake +0 -59
@@ -13,7 +13,7 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
13
13
  end
14
14
 
15
15
  def destroy(request)
16
- raise ArgumentError.new(_("Could not find %{request} to destroy") % { request: request.key }) unless @instances.include?(request.key)
16
+ raise ArgumentError, _("Could not find %{request} to destroy") % { request: request.key } unless @instances.include?(request.key)
17
17
 
18
18
  @instances.delete(request.key)
19
19
  end
@@ -28,7 +28,7 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
28
28
  end
29
29
 
30
30
  def head(request)
31
- not find(request).nil?
31
+ !find(request).nil?
32
32
  end
33
33
 
34
34
  def save(request)
@@ -9,7 +9,7 @@ require_relative '../../puppet/util'
9
9
  # implementations, since it is ~ 30 times faster
10
10
  class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
11
11
  def initialize(*args)
12
- if !Puppet.features.msgpack?
12
+ unless Puppet.features.msgpack?
13
13
  raise _("MessagePack terminus not supported without msgpack library")
14
14
  end
15
15
 
@@ -24,16 +24,16 @@ class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
24
24
  filename = path(request.key)
25
25
  FileUtils.mkdir_p(File.dirname(filename))
26
26
 
27
- Puppet::FileSystem.replace_file(filename, 0660) { |f| f.print to_msgpack(request.instance) }
27
+ Puppet::FileSystem.replace_file(filename, 0o660) { |f| f.print to_msgpack(request.instance) }
28
28
  rescue TypeError => detail
29
- Puppet.log_exception(detail, _("Could not save %{name} %{request}: %{detail}") % { name: self.name, request: request.key, detail: detail })
29
+ Puppet.log_exception(detail, _("Could not save %{name} %{request}: %{detail}") % { name: name, request: request.key, detail: detail })
30
30
  end
31
31
 
32
32
  def destroy(request)
33
33
  Puppet::FileSystem.unlink(path(request.key))
34
34
  rescue => detail
35
35
  unless detail.is_a? Errno::ENOENT
36
- raise Puppet::Error, _("Could not destroy %{name} %{request}: %{detail}") % { name: self.name, request: request.key, detail: detail }, detail.backtrace
36
+ raise Puppet::Error, _("Could not destroy %{name} %{request}: %{detail}") % { name: name, request: request.key, detail: detail }, detail.backtrace
37
37
  end
38
38
 
39
39
  1 # emulate success...
@@ -71,7 +71,7 @@ class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
71
71
  end
72
72
 
73
73
  begin
74
- return from_msgpack(msgpack)
74
+ from_msgpack(msgpack)
75
75
  rescue => detail
76
76
  raise Puppet::Error, _("Could not parse MessagePack data for %{indirection} %{key}: %{detail}") % { indirection: indirection.name, key: key, detail: detail }, detail.backtrace
77
77
  end
@@ -4,5 +4,5 @@ require_relative '../../../puppet/indirector/store_configs'
4
4
  require_relative '../../../puppet/node'
5
5
 
6
6
  class Puppet::Node::StoreConfigs < Puppet::Indirector::StoreConfigs
7
- desc %q{Part of the "storeconfigs" feature. Should not be directly set by end users.}
7
+ desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
8
8
  end
@@ -5,6 +5,6 @@ require_relative '../../puppet/indirector/terminus'
5
5
  # A none terminus type, meant to always return nil
6
6
  class Puppet::Indirector::None < Puppet::Indirector::Terminus
7
7
  def find(request)
8
- return nil
8
+ nil
9
9
  end
10
10
  end
@@ -30,7 +30,7 @@ class Puppet::Transaction::Report::Json < Puppet::Indirector::JSON
30
30
  fh.print JSON.dump(request.instance)
31
31
  end
32
32
  rescue TypeError => detail
33
- Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: self.name, request: request.key, detail: detail }
33
+ Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
34
34
  end
35
35
  end
36
36
  end
@@ -30,7 +30,7 @@ class Puppet::Transaction::Report::Yaml < Puppet::Indirector::Yaml
30
30
  fh.print YAML.dump(request.instance)
31
31
  end
32
32
  rescue TypeError => detail
33
- Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: self.name, request: request.key, detail: detail }
33
+ Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
34
34
  end
35
35
  end
36
36
  end
@@ -80,7 +80,7 @@ class Puppet::Indirector::Request
80
80
  # info out in the REST class, but it seemed bad design for the REST
81
81
  # class to rewrite the key.
82
82
 
83
- if key.to_s =~ /^\w+:\// and not Puppet::Util.absolute_path?(key.to_s) # it's a URI
83
+ if key.to_s =~ %r{^\w+:/} and !Puppet::Util.absolute_path?(key.to_s) # it's a URI
84
84
  set_uri_key(key)
85
85
  else
86
86
  @key = key
@@ -140,11 +140,11 @@ class Puppet::Indirector::Request
140
140
  end
141
141
 
142
142
  def description
143
- return(uri ? uri : "/#{indirection_name}/#{key}")
143
+ uri || "/#{indirection_name}/#{key}"
144
144
  end
145
145
 
146
146
  def remote?
147
- self.node or self.ip
147
+ node or ip
148
148
  end
149
149
 
150
150
  private
@@ -192,6 +192,6 @@ class Puppet::Indirector::Request
192
192
  @protocol = uri.scheme
193
193
  end
194
194
 
195
- @key = Puppet::Util.uri_unescape(uri.path.sub(/^\//, ''))
195
+ @key = Puppet::Util.uri_unescape(uri.path.sub(%r{^/}, ''))
196
196
  end
197
197
  end
@@ -14,7 +14,7 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code
14
14
  def find(request)
15
15
  # find by name
16
16
  res = type(request).instances.find { |o| o.name == resource_name(request) }
17
- res ||= type(request).new(:name => resource_name(request), :audit => type(request).properties.collect { |s| s.name })
17
+ res ||= type(request).new(:name => resource_name(request), :audit => type(request).properties.collect(&:name))
18
18
 
19
19
  res.to_resource
20
20
  end
@@ -23,9 +23,7 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code
23
23
  conditions = request.options.dup
24
24
  conditions[:name] = resource_name(request) if resource_name(request)
25
25
 
26
- type(request).instances.map do |res|
27
- res.to_resource
28
- end.find_all do |res|
26
+ type(request).instances.map(&:to_resource).find_all do |res|
29
27
  conditions.all? do |property, value|
30
28
  # even though `res` is an instance of Puppet::Resource, calling
31
29
  # `res[:name]` on it returns nil, and for some reason it is necessary
@@ -6,7 +6,7 @@ require_relative '../../../puppet/indirector/resource/validator'
6
6
  class Puppet::Resource::StoreConfigs < Puppet::Indirector::StoreConfigs
7
7
  include Puppet::Resource::Validator
8
8
 
9
- desc %q{Part of the "storeconfigs" feature. Should not be directly set by end users.}
9
+ desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
10
10
 
11
11
  def allow_remote_requests?
12
12
  false
@@ -24,7 +24,7 @@ class Puppet::Indirector::Terminus
24
24
 
25
25
  # Convert a constant to a short name.
26
26
  def const2name(const)
27
- const.sub(/^[A-Z]/) { |i| i.downcase }.gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
27
+ const.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
28
28
  end
29
29
 
30
30
  # Look up the indirection if we were only provided a name.
@@ -57,7 +57,7 @@ class Puppet::Indirector::Terminus
57
57
  names = longname.split("::")
58
58
 
59
59
  # Convert everything to a lower-case symbol, converting camelcase to underscore word separation.
60
- name = names.pop.sub(/^[A-Z]/) { |i| i.downcase }.gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
60
+ name = names.pop.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
61
61
 
62
62
  subclass.name = name
63
63
 
@@ -75,7 +75,7 @@ class Puppet::Indirector::Terminus
75
75
  # This subclass is specifically associated with an indirection.
76
76
  raise("Invalid name #{longname}") unless names.length > 0
77
77
 
78
- processed_name = names.pop.sub(/^[A-Z]/) { |i| i.downcase }.gsub(/[A-Z]/) { |i| "_#{i.downcase}" }
78
+ processed_name = names.pop.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }
79
79
 
80
80
  if processed_name.empty?
81
81
  raise Puppet::DevError, _("Could not discern indirection model from class constant")
@@ -101,7 +101,7 @@ class Puppet::Indirector::Terminus
101
101
 
102
102
  # Convert a short name to a constant.
103
103
  def name2const(name)
104
- name.to_s.capitalize.sub(/_(.)/) { |_i| $1.upcase }
104
+ name.to_s.capitalize.sub(/_(.)/) { |_i| ::Regexp.last_match(1).upcase }
105
105
  end
106
106
 
107
107
  # Register a class, probably autoloaded.
@@ -11,7 +11,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
11
11
  return nil unless Puppet::FileSystem.exist?(file)
12
12
 
13
13
  begin
14
- return load_file(file)
14
+ load_file(file)
15
15
  rescue Puppet::Util::Yaml::YamlLoadError => detail
16
16
  raise Puppet::Error, _("Could not parse YAML data for %{indirection} %{request}: %{detail}") % { indirection: indirection.name, request: request.key, detail: detail }, detail.backtrace
17
17
  end
@@ -19,7 +19,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
19
19
 
20
20
  # Convert our object to YAML and store it to the disk.
21
21
  def save(request)
22
- raise ArgumentError.new(_("You can only save objects that respond to :name")) unless request.instance.respond_to?(:name)
22
+ raise ArgumentError, _("You can only save objects that respond to :name") unless request.instance.respond_to?(:name)
23
23
 
24
24
  file = path(request.key)
25
25
 
@@ -31,7 +31,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
31
31
  begin
32
32
  Puppet::Util::Yaml.dump(request.instance, file)
33
33
  rescue TypeError => detail
34
- Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: self.name, request: request.key, detail: detail }
34
+ Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
35
35
  end
36
36
  end
37
37
 
@@ -74,7 +74,7 @@ class Puppet::InfoService::ClassInformationService
74
74
  def extract_type(structure, p)
75
75
  return structure if p.type_expr.nil?
76
76
 
77
- structure[:type] = typeexpr_to_string(p.type_expr)
77
+ structure[:type] = typeexpr_to_string(p.name, p.type_expr)
78
78
  structure
79
79
  end
80
80
 
@@ -88,13 +88,10 @@ class Puppet::InfoService::ClassInformationService
88
88
  structure
89
89
  end
90
90
 
91
- def typeexpr_to_string(type_expr)
92
- begin
93
- type_parser.interpret_any(type_expr, nil).to_s
94
- rescue Puppet::ParseError
95
- # type is to complex - contains expressions that are not literal
96
- nil
97
- end
91
+ def typeexpr_to_string(name, type_expr)
92
+ type_parser.interpret_any(type_expr, nil).to_s
93
+ rescue Puppet::ParseError => e
94
+ raise Puppet::Error, "The parameter '$#{name}' is invalid: #{e.message}", e.backtrace
98
95
  end
99
96
 
100
97
  def value_as_literal(value_expr)
@@ -10,13 +10,12 @@ class Puppet::InfoService::TaskInformationService
10
10
  env.modules.map do |mod|
11
11
  mod.tasks.map do |task|
12
12
  # If any task is malformed continue to list other tasks in module
13
- begin
14
- task.validate
15
- { :module => { :name => task.module.name }, :name => task.name, :metadata => task.metadata }
16
- rescue Puppet::Module::Task::Error => err
17
- Puppet.log_exception(err)
18
- nil
19
- end
13
+
14
+ task.validate
15
+ { :module => { :name => task.module.name }, :name => task.name, :metadata => task.metadata }
16
+ rescue Puppet::Module::Task::Error => err
17
+ Puppet.log_exception(err)
18
+ nil
20
19
  end
21
20
  end.flatten.compact
22
21
  end
@@ -40,9 +40,9 @@ class Puppet::Interface::Action
40
40
  # @return [void]
41
41
  # @api private
42
42
  def __dup_and_rebind_to(to)
43
- bound_version = self.dup
43
+ bound_version = dup
44
44
  bound_version.instance_variable_set(:@face, to)
45
- return bound_version
45
+ bound_version
46
46
  end
47
47
 
48
48
  def to_s() "#{@face}##{@name}" end
@@ -88,7 +88,7 @@ class Puppet::Interface::Action
88
88
  return @when_rendering[alt].bind(@face) if @when_rendering.has_key? alt
89
89
 
90
90
  # Guess not, nothing to run.
91
- return nil
91
+ nil
92
92
  end
93
93
 
94
94
  # @api private
@@ -254,7 +254,7 @@ class Puppet::Interface::Action
254
254
  file = __FILE__ + "+eval[wrapper]"
255
255
  line = __LINE__ + 2 # <== points to the same line as 'def' in the wrapper.
256
256
  wrapper = <<~WRAPPER
257
- def #{@name}(#{decl.join(", ")})
257
+ def #{@name}(#{decl.join(', ')})
258
258
  #{optn}
259
259
  args = #{args}
260
260
  action = get_action(#{name.inspect})
@@ -394,7 +394,7 @@ class Puppet::Interface::Action
394
394
  end
395
395
 
396
396
  # All done.
397
- return result
397
+ result
398
398
  end
399
399
 
400
400
  ########################################################################
@@ -39,7 +39,7 @@ module Puppet::Interface::ActionManager
39
39
  @actions ||= {}
40
40
  result = @actions.keys
41
41
 
42
- if self.is_a?(Class) and superclass.respond_to?(:actions)
42
+ if is_a?(Class) and superclass.respond_to?(:actions)
43
43
  result += superclass.actions
44
44
  elsif self.class.respond_to?(:actions)
45
45
  result += self.class.actions
@@ -58,7 +58,7 @@ module Puppet::Interface::ActionManager
58
58
  @actions ||= {}
59
59
  result = @actions[name.to_sym]
60
60
  if result.nil?
61
- if self.is_a?(Class) and superclass.respond_to?(:get_action)
61
+ if is_a?(Class) and superclass.respond_to?(:get_action)
62
62
  found = superclass.get_action(name)
63
63
  elsif self.class.respond_to?(:get_action)
64
64
  found = self.class.get_action(name)
@@ -71,16 +71,16 @@ module Puppet::Interface::ActionManager
71
71
  result = @actions[name.to_sym] = found.__dup_and_rebind_to(self)
72
72
  end
73
73
  end
74
- return result
74
+ result
75
75
  end
76
76
 
77
77
  # Retrieves the default action for the face
78
78
  # @return [Puppet::Interface::Action]
79
79
  # @api private
80
80
  def get_default_action
81
- default = actions.map { |x| get_action(x) }.select { |x| x.default }
81
+ default = actions.map { |x| get_action(x) }.select(&:default)
82
82
  if default.length > 1
83
- raise "The actions #{default.map(&:name).join(", ")} cannot all be default"
83
+ raise "The actions #{default.map(&:name).join(', ')} cannot all be default"
84
84
  end
85
85
 
86
86
  default.first
@@ -79,7 +79,7 @@ class Puppet::Interface
79
79
 
80
80
  options.each do |option|
81
81
  option = get_option(option)
82
- wrap = option.required? ? %w{< >} : %w{[ ]}
82
+ wrap = option.required? ? %w[< >] : %w{[ ]}
83
83
 
84
84
  s.group(0, *wrap) do
85
85
  option.optparse.each do |item|
@@ -184,7 +184,7 @@ class Puppet::Interface
184
184
  first_paragraph_break = lines.index('') || 5
185
185
  grab = [5, first_paragraph_break].min
186
186
  @short_description = lines[0, grab].join("\n")
187
- @short_description += ' [...]' if (grab < lines.length and first_paragraph_break >= 5)
187
+ @short_description += ' [...]' if grab < lines.length and first_paragraph_break >= 5
188
188
  end
189
189
  @short_description
190
190
  end
@@ -250,7 +250,7 @@ class Puppet::Interface
250
250
  # @api public
251
251
  # @dsl Faces
252
252
  def copyright(owner = nil, years = nil)
253
- if years.nil? and not owner.nil? then
253
+ if years.nil? and !owner.nil? then
254
254
  # TRANSLATORS 'copyright' is an attribute name and should not be translated
255
255
  raise ArgumentError, _('copyright takes the owners names, then the years covered')
256
256
  end
@@ -258,8 +258,8 @@ class Puppet::Interface
258
258
  self.copyright_owner = owner unless owner.nil?
259
259
  self.copyright_years = years unless years.nil?
260
260
 
261
- if self.copyright_years or self.copyright_owner then
262
- "Copyright #{self.copyright_years} by #{self.copyright_owner}"
261
+ if copyright_years or copyright_owner then
262
+ "Copyright #{copyright_years} by #{copyright_owner}"
263
263
  else
264
264
  "Unknown copyright owner and years."
265
265
  end
@@ -40,7 +40,7 @@ module Puppet::Interface::FaceCollection
40
40
  end
41
41
  end
42
42
 
43
- return action
43
+ action
44
44
  end
45
45
 
46
46
  # get face from memory, without loading.
@@ -51,11 +51,11 @@ module Puppet::Interface::FaceCollection
51
51
  versions = @faces[name].keys - [:current]
52
52
  range = pattern.is_a?(SemanticPuppet::Version) ? SemanticPuppet::VersionRange.new(pattern, pattern) : SemanticPuppet::VersionRange.parse(pattern)
53
53
  found = find_matching(range, versions)
54
- return @faces[name][found]
54
+ @faces[name][found]
55
55
  end
56
56
 
57
57
  def self.find_matching(range, versions)
58
- versions.select { |v| range === v }.sort.last
58
+ versions.select { |v| range === v }.max
59
59
  end
60
60
 
61
61
  # try to load the face, and return it.
@@ -95,7 +95,7 @@ module Puppet::Interface::FaceCollection
95
95
  # versions here and return the last item in that set.
96
96
  #
97
97
  # --daniel 2011-04-06
98
- latest_ver = @faces[name].keys.sort.last
98
+ latest_ver = @faces[name].keys.max
99
99
  @faces[name][:current] = @faces[name][latest_ver]
100
100
  end
101
101
  end
@@ -105,7 +105,7 @@ module Puppet::Interface::FaceCollection
105
105
  safely_require name, version
106
106
  end
107
107
 
108
- return get_face(name, version)
108
+ get_face(name, version)
109
109
  end
110
110
 
111
111
  def self.safely_require(name, version = nil)
@@ -113,12 +113,12 @@ module Puppet::Interface::FaceCollection
113
113
  require path
114
114
  true
115
115
  rescue LoadError => e
116
- raise unless e.message =~ %r{-- #{path}$}
116
+ raise unless e.message =~ /-- #{path}$/
117
117
 
118
118
  # ...guess we didn't find the file; return a much better problem.
119
119
  nil
120
120
  rescue SyntaxError => e
121
- raise unless e.message =~ %r{#{path}\.rb:\d+: }
121
+ raise unless e.message =~ /#{path}\.rb:\d+: /
122
122
 
123
123
  Puppet.err _("Failed to load face %{name}:\n%{detail}") % { name: name, detail: e }
124
124
  # ...but we just carry on after complaining.
@@ -64,7 +64,7 @@ class Puppet::Interface::Option
64
64
  # incoherence here makes our life super-difficult, and we can more easily
65
65
  # relax this rule later if we find a valid use case for it. --daniel 2011-03-30
66
66
  @argument = @optparse.any? { |o| o =~ /[ =]/ }
67
- if @argument and not @optparse.all? { |o| o =~ /[ =]/ } then
67
+ if @argument and !@optparse.all? { |o| o =~ /[ =]/ } then
68
68
  raise ArgumentError, _("Option %{name} is inconsistent about taking an argument") % { name: @name }
69
69
  end
70
70
 
@@ -74,7 +74,7 @@ class Puppet::Interface::Option
74
74
  if @optional_argument
75
75
  raise ArgumentError, _("Options with optional arguments are not supported")
76
76
  end
77
- if @optional_argument and not @optparse.all? { |o| o =~ /[ =]\[/ } then
77
+ if @optional_argument and !@optparse.all? { |o| o =~ /[ =]\[/ } then
78
78
  raise ArgumentError, _("Option %{name} is inconsistent about the argument being optional") % { name: @name }
79
79
  end
80
80
  end
@@ -28,13 +28,13 @@ module Puppet::Interface::OptionManager
28
28
 
29
29
  # @api private
30
30
  def walk_inheritance_tree(start, sym)
31
- result = (start || [])
32
- if self.is_a?(Class) and superclass.respond_to?(sym)
31
+ result = start || []
32
+ if is_a?(Class) and superclass.respond_to?(sym)
33
33
  result = superclass.send(sym) + result
34
34
  elsif self.class.respond_to?(sym)
35
35
  result = self.class.send(sym) + result
36
36
  end
37
- return result
37
+ result
38
38
  end
39
39
 
40
40
  # Declare that this app can take a specific option, and provide the
@@ -77,7 +77,7 @@ module Puppet::Interface::OptionManager
77
77
  @options_hash[name] = option
78
78
  end
79
79
 
80
- return option
80
+ option
81
81
  end
82
82
 
83
83
  # @api private
@@ -91,14 +91,14 @@ module Puppet::Interface::OptionManager
91
91
 
92
92
  result = @options_hash[name.to_sym]
93
93
  if result.nil? and with_inherited_options then
94
- if self.is_a?(Class) and superclass.respond_to?(:get_option)
94
+ if is_a?(Class) and superclass.respond_to?(:get_option)
95
95
  result = superclass.get_option(name)
96
96
  elsif self.class.respond_to?(:get_option)
97
97
  result = self.class.get_option(name)
98
98
  end
99
99
  end
100
100
 
101
- return result
101
+ result
102
102
  end
103
103
 
104
104
  # @api private
@@ -58,7 +58,7 @@ class Puppet::Interface
58
58
  def define(name, version, &block)
59
59
  face = Puppet::Interface::FaceCollection[name, version]
60
60
  if face.nil? then
61
- face = self.new(name, version)
61
+ face = new(name, version)
62
62
  Puppet::Interface::FaceCollection.register(face)
63
63
  # REVISIT: Shouldn't this be delayed until *after* we evaluate the
64
64
  # current block, not done before? --daniel 2011-04-07
@@ -67,7 +67,7 @@ class Puppet::Interface
67
67
 
68
68
  face.instance_eval(&block) if block_given?
69
69
 
70
- return face
70
+ face
71
71
  end
72
72
 
73
73
  # Retrieves a face by name and version. Use `:current` for the
@@ -126,7 +126,7 @@ class Puppet::Interface
126
126
  # @return [String] usage synopsis
127
127
  # @api private
128
128
  def synopsis
129
- build_synopsis self.name, '<action>'
129
+ build_synopsis name, '<action>'
130
130
  end
131
131
 
132
132
  ########################################################################
@@ -219,7 +219,7 @@ class Puppet::Interface
219
219
  # Exceptions here should propagate up; this implements a hook we can use
220
220
  # reasonably for option validation.
221
221
  methods.each do |hook|
222
- respond_to? hook and self.__send__(hook, action, passed_args, passed_options)
222
+ respond_to? hook and __send__(hook, action, passed_args, passed_options)
223
223
  end
224
224
  end
225
225
 
@@ -88,7 +88,7 @@ module Manager
88
88
  selfobj = singleton_class
89
89
 
90
90
  if @types.include?(name)
91
- if self.respond_to?(newmethod)
91
+ if respond_to?(newmethod)
92
92
  # Remove the old newmethod
93
93
  selfobj.send(:remove_method, newmethod)
94
94
  end
@@ -106,7 +106,7 @@ module Manager
106
106
  )
107
107
 
108
108
  # Now define a "new<type>" method for convenience.
109
- if self.respond_to? newmethod
109
+ if respond_to? newmethod
110
110
  # Refuse to overwrite existing methods like 'newparam' or 'newtype'.
111
111
  # TRANSLATORS 'new%{method}' will become a method name, do not translate this string
112
112
  Puppet.warning(_("'new%{method}' method already exists; skipping") % { method: name.to_s })
@@ -48,18 +48,18 @@ class Puppet::Module
48
48
  end
49
49
  end
50
50
 
51
- ALLOWED_EXTENSIONS = %w{.pp .yaml}
52
- RESERVED_WORDS = %w{and application attr case class consumes default else
51
+ ALLOWED_EXTENSIONS = %w[.pp .yaml]
52
+ RESERVED_WORDS = %w[and application attr case class consumes default else
53
53
  elsif environment false function if import in inherits node or private
54
- produces site true type undef unless}
55
- RESERVED_DATA_TYPES = %w{any array boolean catalogentry class collection
54
+ produces site true type undef unless]
55
+ RESERVED_DATA_TYPES = %w[any array boolean catalogentry class collection
56
56
  callable data default enum float hash integer numeric optional pattern
57
- resource runtime scalar string struct tuple type undef variant}
57
+ resource runtime scalar string struct tuple type undef variant]
58
58
 
59
59
  def self.is_plan_name?(name)
60
60
  return true if name =~ /^[a-z][a-z0-9_]*$/
61
61
 
62
- return false
62
+ false
63
63
  end
64
64
 
65
65
  # Determine whether a plan file has a legal name and extension
@@ -77,7 +77,7 @@ class Puppet::Module
77
77
  return [false, _("Plan name cannot be a Puppet data type, but was '%{name}'") % { name: name }]
78
78
  end
79
79
 
80
- return [true]
80
+ [true]
81
81
  end
82
82
 
83
83
  # Executables list should contain the full path of all possible implementation files
@@ -89,7 +89,7 @@ class Puppet::Module
89
89
  implementations = plan_files.select { |impl| File.basename(impl, '.*') == basename }
90
90
 
91
91
  # Select .pp before .yaml, since .pp comes before .yaml alphabetically.
92
- chosen = implementations.sort.first
92
+ chosen = implementations.min
93
93
 
94
94
  [{ "name" => File.basename(chosen), "path" => chosen }]
95
95
  end
@@ -143,7 +143,7 @@ class Puppet::Module
143
143
  end
144
144
 
145
145
  def ==(other)
146
- self.name == other.name &&
146
+ name == other.name &&
147
147
  self.module == other.module
148
148
  end
149
149
 
@@ -159,7 +159,7 @@ class Puppet::Module
159
159
 
160
160
  # Abstracted here so we can add support for subdirectories later
161
161
  def self.plan_name_from_path(path)
162
- return File.basename(path, '.*')
162
+ File.basename(path, '.*')
163
163
  end
164
164
  private_class_method :plan_name_from_path
165
165
  end