puppet 8.5.1-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 (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. metadata +2 -2
@@ -26,7 +26,7 @@ class CollectorTransformer
26
26
 
27
27
  fail "Resource type #{type} doesn't exist" unless resource_type
28
28
 
29
- if !o.operations.empty?
29
+ unless o.operations.empty?
30
30
  overrides = {
31
31
  :parameters => o.operations.map { |x| @@evaluator.evaluate(x, scope) }.flatten,
32
32
  :file => o.file,
@@ -182,19 +182,19 @@ class CollectorTransformer
182
182
  def match_AndExpression(o, scope)
183
183
  left_match = match(o.left_expr, scope)
184
184
  right_match = match(o.right_expr, scope)
185
- return [left_match, 'and', right_match]
185
+ [left_match, 'and', right_match]
186
186
  end
187
187
 
188
188
  def match_OrExpression(o, scope)
189
189
  left_match = match(o.left_expr, scope)
190
190
  right_match = match(o.right_expr, scope)
191
- return [left_match, 'or', right_match]
191
+ [left_match, 'or', right_match]
192
192
  end
193
193
 
194
194
  def match_ComparisonExpression(o, scope)
195
195
  left_match = match(o.left_expr, scope)
196
196
  right_match = match(o.right_expr, scope)
197
- return [left_match, o.operator.to_s, right_match]
197
+ [left_match, o.operator.to_s, right_match]
198
198
  end
199
199
 
200
200
  def match_VariableExpression(o, scope)
@@ -28,7 +28,7 @@ class Puppet::Pops::Evaluator::Collectors::AbstractCollector
28
28
  @collected = {}
29
29
  @scope = scope
30
30
 
31
- if !(overrides.nil? || overrides[:parameters])
31
+ unless overrides.nil? || overrides[:parameters]
32
32
  raise ArgumentError, _("Exported resource try to override without parameters")
33
33
  end
34
34
 
@@ -50,12 +50,12 @@ class Puppet::Pops::Evaluator::Collectors::AbstractCollector
50
50
  overrides[:source].override = true
51
51
 
52
52
  objects.each do |res|
53
- unless @collected.include?(res.ref)
54
- t = res.type
55
- t = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, t)
56
- newres = Puppet::Parser::Resource.new(t, res.title, @overrides)
57
- scope.compiler.add_override(newres)
58
- end
53
+ next if @collected.include?(res.ref)
54
+
55
+ t = res.type
56
+ t = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, t)
57
+ newres = Puppet::Parser::Resource.new(t, res.title, @overrides)
58
+ scope.compiler.add_override(newres)
59
59
  end
60
60
  end
61
61
 
@@ -18,14 +18,14 @@ class Puppet::Pops::Evaluator::Collectors::FixedSetCollector < Puppet::Pops::Eva
18
18
  resolved = []
19
19
  result = @resources.each_with_object([]) do |ref, memo|
20
20
  res = @scope.findresource(ref.to_s)
21
- if res
22
- res.virtual = false
23
- memo << res
24
- resolved << ref
25
- end
21
+ next unless res
22
+
23
+ res.virtual = false
24
+ memo << res
25
+ resolved << ref
26
26
  end
27
27
 
28
- @resources = @resources - resolved
28
+ @resources -= resolved
29
29
 
30
30
  @scope.compiler.delete_collection(self) if @resources.empty?
31
31
 
@@ -50,7 +50,7 @@ class CompareOperator
50
50
  def cmp_String(a, b)
51
51
  return a.casecmp(b) if b.is_a?(String)
52
52
 
53
- raise ArgumentError.new(_("A String is not comparable to a non String"))
53
+ raise ArgumentError, _("A String is not comparable to a non String")
54
54
  end
55
55
 
56
56
  # Equality is case independent.
@@ -67,7 +67,7 @@ class CompareOperator
67
67
  when Time::Timespan, Time::Timestamp
68
68
  -(b <=> a) # compare other way and invert result
69
69
  else
70
- raise ArgumentError.new(_("A Numeric is not comparable to non Numeric"))
70
+ raise ArgumentError, _("A Numeric is not comparable to non Numeric")
71
71
  end
72
72
  end
73
73
 
@@ -97,30 +97,30 @@ class CompareOperator
97
97
  if b.is_a?(Symbol)
98
98
  a <=> b
99
99
  else
100
- raise ArgumentError.new(_("Symbol not comparable to non Symbol"))
100
+ raise ArgumentError, _("Symbol not comparable to non Symbol")
101
101
  end
102
102
  end
103
103
 
104
104
  def cmp_Timespan(a, b)
105
- raise ArgumentError.new(_('Timespans are only comparable to Timespans, Integers, and Floats')) unless b.is_a?(Time::Timespan) || b.is_a?(Integer) || b.is_a?(Float)
105
+ raise ArgumentError, _('Timespans are only comparable to Timespans, Integers, and Floats') unless b.is_a?(Time::Timespan) || b.is_a?(Integer) || b.is_a?(Float)
106
106
 
107
107
  a <=> b
108
108
  end
109
109
 
110
110
  def cmp_Timestamp(a, b)
111
- raise ArgumentError.new(_('Timestamps are only comparable to Timestamps, Integers, and Floats')) unless b.is_a?(Time::Timestamp) || b.is_a?(Integer) || b.is_a?(Float)
111
+ raise ArgumentError, _('Timestamps are only comparable to Timestamps, Integers, and Floats') unless b.is_a?(Time::Timestamp) || b.is_a?(Integer) || b.is_a?(Float)
112
112
 
113
113
  a <=> b
114
114
  end
115
115
 
116
116
  def cmp_Version(a, b)
117
- raise ArgumentError.new(_('Versions not comparable to non Versions')) unless b.is_a?(SemanticPuppet::Version)
117
+ raise ArgumentError, _('Versions not comparable to non Versions') unless b.is_a?(SemanticPuppet::Version)
118
118
 
119
119
  a <=> b
120
120
  end
121
121
 
122
122
  def cmp_Object(a, b)
123
- raise ArgumentError.new(_('Only Strings, Numbers, Timespans, Timestamps, and Versions are comparable'))
123
+ raise ArgumentError, _('Only Strings, Numbers, Timespans, Timestamps, and Versions are comparable')
124
124
  end
125
125
 
126
126
  def equals_Object(a, b)
@@ -183,15 +183,15 @@ class CompareOperator
183
183
  end
184
184
  # Always set match data, a "not found" should not keep old match data visible
185
185
  set_match_data(matched, scope) # creates ephemeral
186
- return !!matched
186
+ !!matched
187
187
  when String, SemanticPuppet::Version
188
188
  a.any? { |element| match(b, element, scope) }
189
189
  when Types::PAnyType
190
190
  a.each { |element| return true if b.instance?(element) }
191
- return false
191
+ false
192
192
  else
193
193
  a.each { |element| return true if equals(element, b) }
194
- return false
194
+ false
195
195
  end
196
196
  end
197
197
 
@@ -172,7 +172,7 @@ class DeferredResolver
172
172
  else
173
173
  # call the function later
174
174
  DeferredValue.new(
175
- Proc.new {
175
+ proc {
176
176
  # deferred functions can have nested deferred arguments
177
177
  resolved_arguments = mapped_arguments.map { |arg| resolve_lazy_args(arg) }
178
178
  @scope.call_function(func_name, resolved_arguments)
@@ -31,7 +31,7 @@ class Puppet::Pops::Evaluator::EppEvaluator
31
31
 
32
32
  unless Puppet::FileSystem.exist?(file)
33
33
  unless file =~ /\.epp$/
34
- file = file + ".epp"
34
+ file += ".epp"
35
35
  end
36
36
  end
37
37
 
@@ -82,7 +82,7 @@ class Puppet::Pops::Evaluator::EppEvaluator
82
82
  end
83
83
 
84
84
  # filter out all qualified names and set them in qualified_variables
85
- # only pass unqualified (filtered) variable names to the the template
85
+ # only pass unqualified (filtered) variable names to the template
86
86
  filtered_args = {}
87
87
  template_args.each_pair do |k, v|
88
88
  if k =~ /::/
@@ -74,46 +74,44 @@ class EvaluatorImpl
74
74
  # @api public
75
75
  #
76
76
  def evaluate(target, scope)
77
- begin
78
- @@eval_visitor.visit_this_1(self, target, scope)
79
- rescue SemanticError => e
80
- # A raised issue may not know the semantic target, use errors call stack, but fill in the
81
- # rest from a supplied semantic object, or the target instruction if there is not semantic
82
- # object.
83
- #
84
- fail(e.issue, e.semantic || target, e.options, e)
85
- rescue Puppet::PreformattedError => e
86
- # Already formatted with location information, and with the wanted call stack.
87
- # Note this is currently a specialized ParseError, so rescue-order is important
88
- #
89
- raise e
90
- rescue Puppet::ParseError => e
91
- # ParseError may be raised in ruby code without knowing the location
92
- # in puppet code.
93
- # Accept a ParseError that has file or line information available
94
- # as an error that should be used verbatim. (Tests typically run without
95
- # setting a file name).
96
- # ParseError can supply an original - it is impossible to determine which
97
- # call stack that should be propagated, using the ParseError's backtrace.
98
- #
99
- if e.file || e.line
100
- raise e
101
- else
102
- # Since it had no location information, treat it as user intended a general purpose
103
- # error. Pass on its call stack.
104
- fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e)
105
- end
106
- rescue Puppet::Error => e
107
- # PuppetError has the ability to wrap an exception, if so, use the wrapped exception's
108
- # call stack instead
109
- fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e.original || e)
110
- rescue StopIteration => e
111
- # Ensure these are not rescued as StandardError
77
+ @@eval_visitor.visit_this_1(self, target, scope)
78
+ rescue SemanticError => e
79
+ # A raised issue may not know the semantic target, use errors call stack, but fill in the
80
+ # rest from a supplied semantic object, or the target instruction if there is not semantic
81
+ # object.
82
+ #
83
+ fail(e.issue, e.semantic || target, e.options, e)
84
+ rescue Puppet::PreformattedError => e
85
+ # Already formatted with location information, and with the wanted call stack.
86
+ # Note this is currently a specialized ParseError, so rescue-order is important
87
+ #
88
+ raise e
89
+ rescue Puppet::ParseError => e
90
+ # ParseError may be raised in ruby code without knowing the location
91
+ # in puppet code.
92
+ # Accept a ParseError that has file or line information available
93
+ # as an error that should be used verbatim. (Tests typically run without
94
+ # setting a file name).
95
+ # ParseError can supply an original - it is impossible to determine which
96
+ # call stack that should be propagated, using the ParseError's backtrace.
97
+ #
98
+ if e.file || e.line
112
99
  raise e
113
- rescue StandardError => e
114
- # All other errors, use its message and call stack
100
+ else
101
+ # Since it had no location information, treat it as user intended a general purpose
102
+ # error. Pass on its call stack.
115
103
  fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e)
116
104
  end
105
+ rescue Puppet::Error => e
106
+ # PuppetError has the ability to wrap an exception, if so, use the wrapped exception's
107
+ # call stack instead
108
+ fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e.original || e)
109
+ rescue StopIteration => e
110
+ # Ensure these are not rescued as StandardError
111
+ raise e
112
+ rescue StandardError => e
113
+ # All other errors, use its message and call stack
114
+ fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e)
117
115
  end
118
116
 
119
117
  # Assigns the given _value_ to the given _target_. The additional argument _o_ is the instruction that
@@ -693,7 +691,7 @@ class EvaluatorImpl
693
691
  the_default = nil
694
692
  if o.options.find do |co|
695
693
  # the first case option that matches
696
- if co.values.find do |c|
694
+ next unless co.values.find do |c|
697
695
  c = unwind_parentheses(c)
698
696
  case c
699
697
  when Model::LiteralDefault
@@ -707,9 +705,9 @@ class EvaluatorImpl
707
705
  is_match?(test, evaluate(c, scope), c, co, scope)
708
706
  end
709
707
  end
710
- result = evaluate(co.then_expr, scope)
711
- true # the option was picked
712
- end
708
+
709
+ result = evaluate(co.then_expr, scope)
710
+ true # the option was picked
713
711
  end
714
712
  result # an option was picked, and produced a result
715
713
  else
@@ -746,17 +744,15 @@ class EvaluatorImpl
746
744
  end
747
745
 
748
746
  def eval_Program(o, scope)
749
- begin
750
- file = o.locator.file
751
- line = 0
752
- # Add stack frame for "top scope" logic. See Puppet::Pops::PuppetStack
753
- return Puppet::Pops::PuppetStack.stack(file, line, self, 'evaluate', [o.body, scope])
754
- # evaluate(o.body, scope)
755
- rescue Puppet::Pops::Evaluator::PuppetStopIteration => ex
756
- # breaking out of a file level program is not allowed
757
- # TRANSLATOR break() is a method that should not be translated
758
- raise Puppet::ParseError.new(_("break() from context where this is illegal"), ex.file, ex.line)
759
- end
747
+ file = o.locator.file
748
+ line = 0
749
+ # Add stack frame for "top scope" logic. See Puppet::Pops::PuppetStack
750
+ Puppet::Pops::PuppetStack.stack(file, line, self, 'evaluate', [o.body, scope])
751
+ # evaluate(o.body, scope)
752
+ rescue Puppet::Pops::Evaluator::PuppetStopIteration => ex
753
+ # breaking out of a file level program is not allowed
754
+ # TRANSLATOR break() is a method that should not be translated
755
+ raise Puppet::ParseError.new(_("break() from context where this is illegal"), ex.file, ex.line)
760
756
  end
761
757
 
762
758
  # Produces Array[PAnyType], an array of resource references
@@ -811,7 +807,7 @@ class EvaluatorImpl
811
807
 
812
808
  # This is a runtime check - the model is valid, but will have runtime issues when evaluated
813
809
  # and storeconfigs is not set.
814
- if (o.exported)
810
+ if o.exported
815
811
  optionally_fail(Issues::RT_NO_STORECONFIGS_EXPORT, o);
816
812
  end
817
813
 
@@ -1068,10 +1064,10 @@ class EvaluatorImpl
1068
1064
  # Evaluates Puppet DSL `unless`
1069
1065
  def eval_UnlessExpression o, scope
1070
1066
  scope.with_guarded_scope do
1071
- unless is_true?(evaluate(o.test, scope), o.test)
1072
- evaluate(o.then_expr, scope)
1073
- else
1067
+ if is_true?(evaluate(o.test, scope), o.test)
1074
1068
  evaluate(o.else_expr, scope)
1069
+ else
1070
+ evaluate(o.then_expr, scope)
1075
1071
  end
1076
1072
  end
1077
1073
  end
@@ -1236,15 +1232,15 @@ class EvaluatorImpl
1236
1232
  Hash[*y]
1237
1233
  end
1238
1234
  else
1239
- raise ArgumentError.new(_('Can only append Array or Hash to a Hash'))
1235
+ raise ArgumentError, _('Can only append Array or Hash to a Hash')
1240
1236
  end
1241
1237
  x.merge y # new hash with overwrite
1242
1238
  when URI
1243
- raise ArgumentError.new(_('An URI can only be merged with an URI or String')) unless y.is_a?(String) || y.is_a?(URI)
1239
+ raise ArgumentError, _('An URI can only be merged with an URI or String') unless y.is_a?(String) || y.is_a?(URI)
1244
1240
 
1245
1241
  x + y
1246
1242
  when Types::PBinaryType::Binary
1247
- raise ArgumentError.new(_('Can only append Binary to a Binary')) unless y.is_a?(Types::PBinaryType::Binary)
1243
+ raise ArgumentError, _('Can only append Binary to a Binary') unless y.is_a?(Types::PBinaryType::Binary)
1248
1244
 
1249
1245
  Types::PBinaryType::Binary.from_binary_string(x.binary_buffer + y.binary_buffer)
1250
1246
  else
@@ -1276,7 +1272,7 @@ class EvaluatorImpl
1276
1272
  end
1277
1273
  y.each { |e| result.delete(e) }
1278
1274
  else
1279
- raise ArgumentError.new(_("Can only delete from an Array or Hash."))
1275
+ raise ArgumentError, _("Can only delete from an Array or Hash.")
1280
1276
  end
1281
1277
  result
1282
1278
  end
@@ -47,7 +47,7 @@ class RelationshipOperator
47
47
  # Catch all non transformable objects
48
48
  # @api private
49
49
  def transform_Object(o, scope)
50
- raise IllegalRelationshipOperandError.new(o)
50
+ raise IllegalRelationshipOperandError, o
51
51
  end
52
52
 
53
53
  # A Resource is by definition a Catalog type, but of 3.x type
@@ -98,7 +98,7 @@ class RelationshipOperator
98
98
  #
99
99
  def assert_catalog_type(o, scope)
100
100
  unless @type_calculator.assignable?(@catalog_type, o)
101
- raise NotCatalogTypeError.new(o)
101
+ raise NotCatalogTypeError, o
102
102
  end
103
103
 
104
104
  # TODO must check if this is an abstract PResourceType (i.e. without a type_name) - which should fail ?
@@ -70,7 +70,7 @@ class Runtime3Converter
70
70
  return o unless o < MIN_INTEGER || o > MAX_INTEGER
71
71
 
72
72
  range_end = o > MAX_INTEGER ? 'max' : 'min'
73
- raise Puppet::Error, "Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{"0x%x" % o}'"
73
+ raise Puppet::Error, "Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{'0x%x' % o}'"
74
74
  end
75
75
 
76
76
  def convert_BigDecimal(o, scope, undef_value)
@@ -165,7 +165,7 @@ class Runtime3Converter
165
165
  @convert_visitor = Puppet::Pops::Visitor.new(self, 'convert', 2, 2)
166
166
  end
167
167
 
168
- @instance = self.new
168
+ @instance = new
169
169
  end
170
170
 
171
171
  # A Ruby function written for the 3.x API cannot be expected to handle extended data types. This
@@ -220,6 +220,6 @@ class Runtime3FunctionArgumentConverter < Runtime3Converter
220
220
  end
221
221
  end
222
222
 
223
- @instance = self.new
223
+ @instance = new
224
224
  end
225
225
  end
@@ -37,7 +37,7 @@ module Runtime3Support
37
37
  if except.nil? && diagnostic_producer.severity_producer[issue] == :error
38
38
  # Want a stacktrace, and it must be passed as an exception
39
39
  begin
40
- raise EvaluationError.new()
40
+ raise EvaluationError
41
41
  rescue EvaluationError => e
42
42
  except = e
43
43
  end
@@ -62,15 +62,15 @@ class Puppet::Pops::Functions::Dispatcher
62
62
  # make a copy to make sure it can be contained by someone else (even if it is not contained here, it
63
63
  # should be treated as immutable).
64
64
  #
65
- callables = dispatchers.map { |dispatch| dispatch.type }
65
+ callables = dispatchers.map(&:type)
66
66
 
67
67
  # multiple signatures, produce a Variant type of Callable1-n (must copy them)
68
68
  # single signature, produce single Callable
69
- callables.size > 1 ? Puppet::Pops::Types::TypeFactory.variant(*callables) : callables.pop
69
+ callables.size > 1 ? Puppet::Pops::Types::TypeFactory.variant(*callables) : callables.pop
70
70
  end
71
71
 
72
72
  # @api private
73
73
  def signatures
74
- @dispatchers.reject { |dispatcher| dispatcher.argument_mismatch_handler? }
74
+ @dispatchers.reject(&:argument_mismatch_handler?)
75
75
  end
76
76
  end
@@ -40,23 +40,21 @@ class Puppet::Pops::Functions::Function
40
40
  #
41
41
  # @api public
42
42
  def call(scope, *args, &block)
43
+ result = catch(:return) do
44
+ return self.class.dispatcher.dispatch(self, scope, args, &block)
45
+ end
46
+ result.value
47
+ rescue Puppet::Pops::Evaluator::Next => jumper
43
48
  begin
44
- result = catch(:return) do
45
- return self.class.dispatcher.dispatch(self, scope, args, &block)
46
- end
47
- return result.value
48
- rescue Puppet::Pops::Evaluator::Next => jumper
49
- begin
50
- throw :next, jumper.value
51
- rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
52
- raise Puppet::ParseError.new("next() from context where this is illegal", jumper.file, jumper.line)
53
- end
54
- rescue Puppet::Pops::Evaluator::Return => jumper
55
- begin
56
- throw :return, jumper
57
- rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
58
- raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
59
- end
49
+ throw :next, jumper.value
50
+ rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
51
+ raise Puppet::ParseError.new("next() from context where this is illegal", jumper.file, jumper.line)
52
+ end
53
+ rescue Puppet::Pops::Evaluator::Return => jumper
54
+ begin
55
+ throw :return, jumper
56
+ rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
57
+ raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
60
58
  end
61
59
  end
62
60
 
@@ -48,7 +48,7 @@ class IssueReporter
48
48
  errors = acceptor.errors
49
49
  if errors.size > 0
50
50
  unless emit_errors
51
- raise emit_exception.new(emit_message)
51
+ raise emit_exception, emit_message
52
52
  end
53
53
 
54
54
  formatter = Validation::DiagnosticFormatterPuppetStyle.new
@@ -70,7 +70,7 @@ class IssueReporter
70
70
  emitted += 1
71
71
  break if emitted >= max_errors
72
72
  end
73
- giving_up_message = if (emit_warnings && warnings.size > 0)
73
+ giving_up_message = if emit_warnings && warnings.size > 0
74
74
  _("Language validation logged %{error_count} errors, and %{warning_count} warnings. Giving up") %
75
75
  { error_count: errors.size, warning_count: warnings.size }
76
76
  else
@@ -4,8 +4,8 @@
4
4
  # This simple implementation calls #to_s on the given object, and handles articles 'a/an/the'.
5
5
  #
6
6
  module Puppet::Pops::LabelProvider
7
- VOWELS = %w{a e i o u y}
8
- SKIPPED_CHARACTERS = %w{" '}
7
+ VOWELS = %w[a e i o u y]
8
+ SKIPPED_CHARACTERS = %w[" ']
9
9
  A = "a"
10
10
  AN = "an"
11
11
 
@@ -44,7 +44,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
44
44
  # (Note: superclass caches the result in this loader as it would have to repeat this search for every
45
45
  # lookup otherwise).
46
46
  loaded = @dependency_loaders.reduce(nil) do |previous, loader|
47
- break previous if !previous.nil?
47
+ break previous unless previous.nil?
48
48
 
49
49
  loader.load_typed(typed_name)
50
50
  end
@@ -62,7 +62,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
62
62
  end
63
63
 
64
64
  def to_s
65
- "(DependencyLoader '#{@loader_name}' [" + @dependency_loaders.map { |loader| loader.to_s }.join(' ,') + "])"
65
+ "(DependencyLoader '#{@loader_name}' [" + @dependency_loaders.map(&:to_s).join(' ,') + "])"
66
66
  end
67
67
 
68
68
  private
@@ -81,7 +81,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
81
81
  # (Note: superclass caches the result in this loader as it would have to repeat this search for every
82
82
  # lookup otherwise).
83
83
  @dependency_loaders.reduce(nil) do |previous, loader|
84
- break previous if !previous.nil?
84
+ break previous unless previous.nil?
85
85
 
86
86
  loader.loaded_entry(typed_name, check_dependencies)
87
87
  end
@@ -54,7 +54,7 @@ class Loader
54
54
  # @yieldreturn [Boolean] `true` to keep the entry, `false` to discard it.
55
55
  # @return [Array<TypedName>] the list of names of discovered values
56
56
  def discover(type, error_collector = nil, name_authority = Pcore::RUNTIME_NAME_AUTHORITY, &block)
57
- return EMPTY_ARRAY
57
+ EMPTY_ARRAY
58
58
  end
59
59
 
60
60
  # Produces the value associated with the given name if already loaded, or available for loading
@@ -164,7 +164,7 @@ class Loader
164
164
  # @api private
165
165
  #
166
166
  def set_entry(type, name, value, origin = nil)
167
- raise NotImplementedError.new
167
+ raise NotImplementedError
168
168
  end
169
169
 
170
170
  # Produces a NamedEntry if a value is bound to the given name, or nil if nothing is bound.
@@ -175,7 +175,7 @@ class Loader
175
175
  # @api private
176
176
  #
177
177
  def get_entry(typed_name)
178
- raise NotImplementedError.new
178
+ raise NotImplementedError
179
179
  end
180
180
 
181
181
  # A loader is by default a loader for all kinds of loadables. An implementation may override
@@ -199,7 +199,7 @@ class Loader
199
199
  # at this point to inspect (ie children would print out `loader_name`
200
200
  # rather than their version of to_s if they chose to implement it).
201
201
  def inspect
202
- self.to_s
202
+ to_s
203
203
  end
204
204
 
205
205
  # An entry for one entity loaded by the loader.
@@ -108,11 +108,11 @@ module LoaderPaths
108
108
  end
109
109
 
110
110
  def relative_path
111
- raise NotImplementedError.new
111
+ raise NotImplementedError
112
112
  end
113
113
 
114
114
  def instantiator
115
- raise NotImplementedError.new
115
+ raise NotImplementedError
116
116
  end
117
117
  end
118
118
 
@@ -234,7 +234,7 @@ module LoaderPaths
234
234
  # match more than one path with one name
235
235
  class TaskPath < PuppetSmartPath
236
236
  TASKS_PATH = 'tasks'
237
- FORBIDDEN_EXTENSIONS = %w{.conf .md}.freeze
237
+ FORBIDDEN_EXTENSIONS = %w[.conf .md].freeze
238
238
 
239
239
  def extension
240
240
  EMPTY_STRING