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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -26
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
  216. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  217. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  218. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  219. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  220. data/lib/puppet/pops/functions/function.rb +14 -16
  221. data/lib/puppet/pops/issue_reporter.rb +2 -2
  222. data/lib/puppet/pops/label_provider.rb +2 -2
  223. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  224. data/lib/puppet/pops/loader/loader.rb +4 -4
  225. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  226. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  227. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  229. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  230. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  231. data/lib/puppet/pops/loaders.rb +3 -3
  232. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  233. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  234. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  235. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  236. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  237. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  238. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  240. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  241. data/lib/puppet/pops/merge_strategy.rb +6 -6
  242. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  243. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  244. data/lib/puppet/pops/model/factory.rb +4 -5
  245. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  246. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  247. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  248. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  249. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  250. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  251. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  252. data/lib/puppet/pops/parser/locator.rb +4 -4
  253. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  254. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  255. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  256. data/lib/puppet/pops/patterns.rb +12 -12
  257. data/lib/puppet/pops/pcore.rb +1 -1
  258. data/lib/puppet/pops/pn.rb +2 -2
  259. data/lib/puppet/pops/puppet_stack.rb +1 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  261. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  262. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  263. data/lib/puppet/pops/time/timestamp.rb +1 -1
  264. data/lib/puppet/pops/types/class_loader.rb +4 -6
  265. data/lib/puppet/pops/types/iterable.rb +1 -1
  266. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  268. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  269. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  270. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  272. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  273. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  274. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  275. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  276. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  277. data/lib/puppet/pops/types/string_converter.rb +12 -8
  278. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  279. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  280. data/lib/puppet/pops/types/type_factory.rb +7 -3
  281. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  282. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  283. data/lib/puppet/pops/types/types.rb +28 -24
  284. data/lib/puppet/pops/utils.rb +38 -42
  285. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  286. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  287. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  288. data/lib/puppet/pops/validation.rb +4 -4
  289. data/lib/puppet/pops/visitor.rb +2 -2
  290. data/lib/puppet/property/ensure.rb +12 -14
  291. data/lib/puppet/property/keyvalue.rb +4 -4
  292. data/lib/puppet/property/list.rb +4 -4
  293. data/lib/puppet/property/ordered_list.rb +1 -1
  294. data/lib/puppet/property.rb +31 -33
  295. data/lib/puppet/provider/exec.rb +2 -2
  296. data/lib/puppet/provider/file/posix.rb +19 -17
  297. data/lib/puppet/provider/file/windows.rb +13 -19
  298. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  299. data/lib/puppet/provider/group/groupadd.rb +4 -4
  300. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  301. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  302. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  303. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  304. data/lib/puppet/provider/nameservice.rb +8 -8
  305. data/lib/puppet/provider/package/aix.rb +19 -19
  306. data/lib/puppet/provider/package/appdmg.rb +2 -2
  307. data/lib/puppet/provider/package/apple.rb +1 -1
  308. data/lib/puppet/provider/package/apt.rb +18 -18
  309. data/lib/puppet/provider/package/aptitude.rb +1 -3
  310. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  311. data/lib/puppet/provider/package/blastwave.rb +10 -14
  312. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  313. data/lib/puppet/provider/package/dpkg.rb +11 -13
  314. data/lib/puppet/provider/package/fink.rb +14 -14
  315. data/lib/puppet/provider/package/freebsd.rb +1 -1
  316. data/lib/puppet/provider/package/gem.rb +12 -14
  317. data/lib/puppet/provider/package/macports.rb +2 -2
  318. data/lib/puppet/provider/package/nim.rb +10 -10
  319. data/lib/puppet/provider/package/openbsd.rb +22 -22
  320. data/lib/puppet/provider/package/opkg.rb +6 -6
  321. data/lib/puppet/provider/package/pacman.rb +35 -29
  322. data/lib/puppet/provider/package/pip.rb +25 -24
  323. data/lib/puppet/provider/package/pkg.rb +15 -15
  324. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  325. data/lib/puppet/provider/package/pkgin.rb +2 -2
  326. data/lib/puppet/provider/package/pkgng.rb +5 -5
  327. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  328. data/lib/puppet/provider/package/portage.rb +59 -61
  329. data/lib/puppet/provider/package/ports.rb +12 -11
  330. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  331. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  332. data/lib/puppet/provider/package/rpm.rb +26 -26
  333. data/lib/puppet/provider/package/rug.rb +7 -9
  334. data/lib/puppet/provider/package/sun.rb +4 -4
  335. data/lib/puppet/provider/package/up2date.rb +5 -7
  336. data/lib/puppet/provider/package/urpmi.rb +6 -6
  337. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  338. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  339. data/lib/puppet/provider/package/windows/package.rb +2 -2
  340. data/lib/puppet/provider/package/windows.rb +3 -5
  341. data/lib/puppet/provider/package/yum.rb +33 -37
  342. data/lib/puppet/provider/package/zypper.rb +12 -14
  343. data/lib/puppet/provider/package.rb +1 -1
  344. data/lib/puppet/provider/package_targetable.rb +1 -1
  345. data/lib/puppet/provider/parsedfile.rb +9 -9
  346. data/lib/puppet/provider/service/base.rb +16 -21
  347. data/lib/puppet/provider/service/bsd.rb +4 -4
  348. data/lib/puppet/provider/service/daemontools.rb +31 -31
  349. data/lib/puppet/provider/service/debian.rb +6 -6
  350. data/lib/puppet/provider/service/freebsd.rb +36 -36
  351. data/lib/puppet/provider/service/gentoo.rb +6 -6
  352. data/lib/puppet/provider/service/init.rb +19 -19
  353. data/lib/puppet/provider/service/launchd.rb +22 -22
  354. data/lib/puppet/provider/service/openbsd.rb +10 -10
  355. data/lib/puppet/provider/service/openrc.rb +1 -1
  356. data/lib/puppet/provider/service/openwrt.rb +3 -3
  357. data/lib/puppet/provider/service/rcng.rb +3 -3
  358. data/lib/puppet/provider/service/redhat.rb +4 -4
  359. data/lib/puppet/provider/service/runit.rb +6 -6
  360. data/lib/puppet/provider/service/service.rb +5 -7
  361. data/lib/puppet/provider/service/smf.rb +28 -27
  362. data/lib/puppet/provider/service/src.rb +7 -7
  363. data/lib/puppet/provider/service/systemd.rb +31 -37
  364. data/lib/puppet/provider/service/upstart.rb +17 -17
  365. data/lib/puppet/provider/service/windows.rb +7 -7
  366. data/lib/puppet/provider/user/aix.rb +4 -2
  367. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  368. data/lib/puppet/provider/user/hpux.rb +10 -14
  369. data/lib/puppet/provider/user/pw.rb +1 -1
  370. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  371. data/lib/puppet/provider/user/useradd.rb +7 -7
  372. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  373. data/lib/puppet/provider.rb +8 -8
  374. data/lib/puppet/reference/indirection.rb +3 -0
  375. data/lib/puppet/reference/metaparameter.rb +1 -1
  376. data/lib/puppet/reference/providers.rb +3 -3
  377. data/lib/puppet/reference/type.rb +1 -1
  378. data/lib/puppet/relationship.rb +4 -5
  379. data/lib/puppet/reports/http.rb +1 -1
  380. data/lib/puppet/reports/log.rb +2 -2
  381. data/lib/puppet/reports/store.rb +4 -4
  382. data/lib/puppet/reports.rb +2 -2
  383. data/lib/puppet/resource/catalog.rb +16 -16
  384. data/lib/puppet/resource/status.rb +3 -3
  385. data/lib/puppet/resource/type.rb +8 -8
  386. data/lib/puppet/resource/type_collection.rb +1 -1
  387. data/lib/puppet/resource.rb +41 -41
  388. data/lib/puppet/scheduler/scheduler.rb +1 -1
  389. data/lib/puppet/settings/alias_setting.rb +3 -5
  390. data/lib/puppet/settings/base_setting.rb +11 -11
  391. data/lib/puppet/settings/boolean_setting.rb +2 -2
  392. data/lib/puppet/settings/config_file.rb +5 -4
  393. data/lib/puppet/settings/duration_setting.rb +2 -2
  394. data/lib/puppet/settings/environment_conf.rb +3 -3
  395. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  396. data/lib/puppet/settings/file_setting.rb +11 -11
  397. data/lib/puppet/settings/ini_file.rb +3 -3
  398. data/lib/puppet/settings/port_setting.rb +1 -1
  399. data/lib/puppet/settings/priority_setting.rb +2 -2
  400. data/lib/puppet/settings/ttl_setting.rb +2 -2
  401. data/lib/puppet/settings/value_translator.rb +8 -8
  402. data/lib/puppet/settings.rb +65 -70
  403. data/lib/puppet/ssl/base.rb +2 -4
  404. data/lib/puppet/ssl/certificate_request.rb +18 -22
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  406. data/lib/puppet/ssl/oids.rb +2 -2
  407. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  408. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  409. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  410. data/lib/puppet/syntax_checkers/json.rb +3 -3
  411. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  412. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  413. data/lib/puppet/transaction/event.rb +2 -2
  414. data/lib/puppet/transaction/event_manager.rb +5 -5
  415. data/lib/puppet/transaction/persistence.rb +12 -14
  416. data/lib/puppet/transaction/report.rb +4 -4
  417. data/lib/puppet/transaction/resource_harness.rb +2 -2
  418. data/lib/puppet/transaction.rb +14 -18
  419. data/lib/puppet/type/component.rb +3 -3
  420. data/lib/puppet/type/exec.rb +43 -45
  421. data/lib/puppet/type/file/checksum_value.rb +1 -1
  422. data/lib/puppet/type/file/content.rb +6 -6
  423. data/lib/puppet/type/file/ctime.rb +2 -2
  424. data/lib/puppet/type/file/data_sync.rb +3 -3
  425. data/lib/puppet/type/file/ensure.rb +16 -15
  426. data/lib/puppet/type/file/mode.rb +9 -9
  427. data/lib/puppet/type/file/mtime.rb +2 -2
  428. data/lib/puppet/type/file/selcontext.rb +14 -14
  429. data/lib/puppet/type/file/source.rb +19 -21
  430. data/lib/puppet/type/file/target.rb +11 -11
  431. data/lib/puppet/type/file.rb +21 -21
  432. data/lib/puppet/type/filebucket.rb +3 -3
  433. data/lib/puppet/type/group.rb +3 -3
  434. data/lib/puppet/type/notify.rb +2 -2
  435. data/lib/puppet/type/package.rb +4 -4
  436. data/lib/puppet/type/resources.rb +6 -6
  437. data/lib/puppet/type/schedule.rb +9 -9
  438. data/lib/puppet/type/service.rb +6 -8
  439. data/lib/puppet/type/tidy.rb +22 -24
  440. data/lib/puppet/type/user.rb +13 -13
  441. data/lib/puppet/type.rb +76 -88
  442. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  443. data/lib/puppet/util/autoload.rb +2 -2
  444. data/lib/puppet/util/backups.rb +9 -9
  445. data/lib/puppet/util/character_encoding.rb +7 -6
  446. data/lib/puppet/util/checksums.rb +2 -2
  447. data/lib/puppet/util/classgen.rb +8 -8
  448. data/lib/puppet/util/colors.rb +1 -1
  449. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  450. data/lib/puppet/util/command_line/trollop.rb +42 -46
  451. data/lib/puppet/util/command_line.rb +2 -2
  452. data/lib/puppet/util/constant_inflector.rb +2 -2
  453. data/lib/puppet/util/diff.rb +19 -21
  454. data/lib/puppet/util/docs.rb +2 -2
  455. data/lib/puppet/util/errors.rb +9 -9
  456. data/lib/puppet/util/execution.rb +32 -9
  457. data/lib/puppet/util/feature.rb +1 -1
  458. data/lib/puppet/util/fileparsing.rb +12 -16
  459. data/lib/puppet/util/filetype.rb +36 -40
  460. data/lib/puppet/util/inifile.rb +6 -12
  461. data/lib/puppet/util/ldap/connection.rb +1 -1
  462. data/lib/puppet/util/ldap/manager.rb +10 -12
  463. data/lib/puppet/util/lockfile.rb +6 -8
  464. data/lib/puppet/util/log/destination.rb +2 -2
  465. data/lib/puppet/util/log/destinations.rb +4 -4
  466. data/lib/puppet/util/log.rb +12 -9
  467. data/lib/puppet/util/logging.rb +11 -11
  468. data/lib/puppet/util/metric.rb +3 -3
  469. data/lib/puppet/util/monkey_patches.rb +5 -7
  470. data/lib/puppet/util/network_device/config.rb +3 -3
  471. data/lib/puppet/util/package/version/debian.rb +27 -28
  472. data/lib/puppet/util/package/version/pip.rb +5 -5
  473. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  474. data/lib/puppet/util/package/version/rpm.rb +1 -1
  475. data/lib/puppet/util/package.rb +2 -2
  476. data/lib/puppet/util/pidlock.rb +2 -2
  477. data/lib/puppet/util/platform.rb +1 -1
  478. data/lib/puppet/util/plist.rb +8 -10
  479. data/lib/puppet/util/posix.rb +17 -17
  480. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  481. data/lib/puppet/util/provider_features.rb +3 -3
  482. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  483. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  484. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  486. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  487. data/lib/puppet/util/rdoc/parser.rb +1 -1
  488. data/lib/puppet/util/reference.rb +13 -9
  489. data/lib/puppet/util/retry_action.rb +1 -1
  490. data/lib/puppet/util/rpm_compare.rb +17 -18
  491. data/lib/puppet/util/rubygems.rb +1 -1
  492. data/lib/puppet/util/selinux.rb +7 -7
  493. data/lib/puppet/util/storage.rb +10 -12
  494. data/lib/puppet/util/suidmanager.rb +18 -19
  495. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  496. data/lib/puppet/util/tag_set.rb +2 -2
  497. data/lib/puppet/util/tagging.rb +8 -10
  498. data/lib/puppet/util/terminal.rb +4 -4
  499. data/lib/puppet/util/user_attr.rb +7 -7
  500. data/lib/puppet/util/watcher.rb +3 -5
  501. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  502. data/lib/puppet/util/windows/adsi.rb +42 -42
  503. data/lib/puppet/util/windows/daemon.rb +64 -68
  504. data/lib/puppet/util/windows/error.rb +2 -2
  505. data/lib/puppet/util/windows/file.rb +18 -25
  506. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  507. data/lib/puppet/util/windows/principal.rb +8 -8
  508. data/lib/puppet/util/windows/process.rb +16 -28
  509. data/lib/puppet/util/windows/registry.rb +16 -15
  510. data/lib/puppet/util/windows/root_certs.rb +2 -2
  511. data/lib/puppet/util/windows/security.rb +31 -31
  512. data/lib/puppet/util/windows/service.rb +11 -11
  513. data/lib/puppet/util/windows/sid.rb +8 -8
  514. data/lib/puppet/util/windows/user.rb +18 -20
  515. data/lib/puppet/util/yaml.rb +1 -1
  516. data/lib/puppet/util.rb +55 -46
  517. data/lib/puppet/version.rb +2 -2
  518. data/lib/puppet/x509/pem_store.rb +1 -1
  519. data/lib/puppet.rb +3 -3
  520. data/man/man5/puppet.conf.5 +10 -2
  521. data/man/man8/puppet-agent.8 +1 -1
  522. data/man/man8/puppet-apply.8 +1 -1
  523. data/man/man8/puppet-catalog.8 +1 -1
  524. data/man/man8/puppet-config.8 +1 -1
  525. data/man/man8/puppet-describe.8 +1 -1
  526. data/man/man8/puppet-device.8 +1 -1
  527. data/man/man8/puppet-doc.8 +1 -1
  528. data/man/man8/puppet-epp.8 +1 -1
  529. data/man/man8/puppet-facts.8 +1 -1
  530. data/man/man8/puppet-filebucket.8 +1 -1
  531. data/man/man8/puppet-generate.8 +1 -1
  532. data/man/man8/puppet-help.8 +1 -1
  533. data/man/man8/puppet-lookup.8 +1 -1
  534. data/man/man8/puppet-module.8 +1 -1
  535. data/man/man8/puppet-node.8 +1 -1
  536. data/man/man8/puppet-parser.8 +1 -1
  537. data/man/man8/puppet-plugin.8 +1 -1
  538. data/man/man8/puppet-report.8 +1 -1
  539. data/man/man8/puppet-resource.8 +5 -1
  540. data/man/man8/puppet-script.8 +1 -1
  541. data/man/man8/puppet-ssl.8 +1 -1
  542. data/man/man8/puppet.8 +2 -2
  543. metadata +2 -2
@@ -118,6 +118,6 @@ class Puppet::Parser::ScriptCompiler
118
118
  def evaluate_main
119
119
  @loaders.pre_load
120
120
  program = @loaders.load_main_manifest
121
- return program.nil? ? nil : Puppet::Pops::Parser::EvaluatingParser.singleton.evaluator.evaluate(program, @topscope)
121
+ program.nil? ? nil : Puppet::Pops::Parser::EvaluatingParser.singleton.evaluator.evaluate(program, @topscope)
122
122
  end
123
123
  end
@@ -100,6 +100,6 @@ class Puppet::Parser::TemplateWrapper
100
100
  end
101
101
 
102
102
  def to_s
103
- "template[#{(@__file__ ? @__file__ : "inline")}]"
103
+ "template[#{@__file__ || 'inline'}]"
104
104
  end
105
105
  end
@@ -67,27 +67,25 @@ class Puppet::Parser::TypeLoader
67
67
  return nil if fqname == "" # special-case main.
68
68
 
69
69
  files_to_try_for(fqname).each do |filename|
70
- begin
71
- imported_types = import_from_modules(filename)
72
- result = imported_types.find { |t| t.type == type and t.name == fqname }
73
- if result
74
- Puppet.debug { "Automatically imported #{fqname} from #{filename} into #{environment}" }
75
- return result
76
- end
77
- rescue TypeLoaderError
78
- # I'm not convinced we should just drop these errors, but this
79
- # preserves existing behaviours.
70
+ imported_types = import_from_modules(filename)
71
+ result = imported_types.find { |t| t.type == type and t.name == fqname }
72
+ if result
73
+ Puppet.debug { "Automatically imported #{fqname} from #{filename} into #{environment}" }
74
+ return result
80
75
  end
76
+ rescue TypeLoaderError
77
+ # I'm not convinced we should just drop these errors, but this
78
+ # preserves existing behaviours.
81
79
  end
82
80
  # Nothing found.
83
- return nil
81
+ nil
84
82
  end
85
83
 
86
84
  def parse_file(file)
87
85
  Puppet.debug { "importing '#{file}' in environment #{environment}" }
88
86
  parser = Puppet::Parser::ParserFactory.parser
89
87
  parser.file = file
90
- return parser.parse
88
+ parser.parse
91
89
  end
92
90
 
93
91
  private
data/lib/puppet/parser.rb CHANGED
@@ -16,7 +16,7 @@ require_relative 'parser/relationship'
16
16
  require_relative '../puppet/resource/type'
17
17
  require 'monitor'
18
18
 
19
- require_relative 'parser/compiler/catalog_validator/relationship_validator.rb'
19
+ require_relative 'parser/compiler/catalog_validator/relationship_validator'
20
20
 
21
21
  # PUP-3274 This should probably go someplace else
22
22
  class Puppet::LexError < RuntimeError; end
@@ -182,7 +182,7 @@ module Adaptable
182
182
  # Returns the name of the class, or the name of the type if the class represents an Object type
183
183
  # @return [String] the name of the class or type
184
184
  def self.type_name
185
- self.name
185
+ name
186
186
  end
187
187
 
188
188
  # Returns a suitable instance variable name for the _name_ of this instance. The name is created by calling
@@ -67,7 +67,7 @@ class AccessOperator
67
67
  k2 = k2 < 0 ? o.length - k1 + k2 + 1 : k2 # abs length (negative k2 is length from pos to end count)
68
68
  # if k1 is outside, adjust to first position, and adjust length
69
69
  if k1 < 0
70
- k2 = k2 + k1
70
+ k2 += k1
71
71
  k1 = 0
72
72
  end
73
73
  o[k1, k2]
@@ -116,7 +116,7 @@ class AccessOperator
116
116
  k2 = k2 < 0 ? o.length - k1 + k2 + 1 : k2 # abs length (negative k2 is length from pos to end count)
117
117
  # if k1 is outside, adjust to first position, and adjust length
118
118
  if k1 < 0
119
- k2 = k2 + k1
119
+ k2 += k1
120
120
  k1 = 0
121
121
  end
122
122
  # Help ruby always return empty array when asking for a sub array
@@ -448,7 +448,7 @@ class AccessOperator
448
448
 
449
449
  keys.each_with_index do |x, index|
450
450
  fail(Issues::BAD_INTEGER_SLICE_TYPE, @semantic.keys[index],
451
- { :actual => x.class }) unless (x.is_a?(Integer) || x == :default)
451
+ { :actual => x.class }) unless x.is_a?(Integer) || x == :default
452
452
  end
453
453
  Types::PIntegerType.new(*keys)
454
454
  end
@@ -461,7 +461,7 @@ class AccessOperator
461
461
 
462
462
  keys.each_with_index do |x, index|
463
463
  fail(Issues::BAD_FLOAT_SLICE_TYPE, @semantic.keys[index],
464
- { :actual => x.class }) unless (x.is_a?(Float) || x.is_a?(Integer) || x == :default)
464
+ { :actual => x.class }) unless x.is_a?(Float) || x.is_a?(Integer) || x == :default
465
465
  end
466
466
  from, to = keys
467
467
  from = from == :default || from.nil? ? nil : Float(from)
@@ -556,7 +556,7 @@ class AccessOperator
556
556
  else
557
557
  keys.each_with_index do |x, index|
558
558
  fail(Issues::BAD_COLLECTION_SLICE_TYPE, @semantic.keys[start_index + index],
559
- { :actual => x.class }) unless (x.is_a?(Integer) || x == :default)
559
+ { :actual => x.class }) unless x.is_a?(Integer) || x == :default
560
560
  end
561
561
  Types::PIntegerType.new(*keys)
562
562
  end
@@ -635,7 +635,7 @@ class AccessOperator
635
635
  return result_type_array ? [] : nil
636
636
  end
637
637
 
638
- if !o.title.nil?
638
+ unless o.title.nil?
639
639
  # lookup resource and return one or more parameter values
640
640
  resource = find_resource(scope, o.type_name, o.title)
641
641
  unless resource
@@ -665,7 +665,7 @@ class AccessOperator
665
665
  Types::PResourceType.new(type_name, t == :no_title ? nil : t)
666
666
  end
667
667
  # returns single type if request was for a single entity, else an array of types (possibly empty)
668
- return result_type_array ? result : result.pop
668
+ result_type_array ? result : result.pop
669
669
  end
670
670
 
671
671
  NS = '::'
@@ -725,7 +725,7 @@ class AccessOperator
725
725
  end
726
726
 
727
727
  # returns single type as type, else an array of types
728
- return result_type_array ? result : result.pop
728
+ result_type_array ? result : result.pop
729
729
  end
730
730
  end
731
731
  end
@@ -22,7 +22,7 @@ class Puppet::Pops::Evaluator::CallableSignature
22
22
  # @api public
23
23
  #
24
24
  def parameter_names
25
- raise NotImplementedError.new
25
+ raise NotImplementedError
26
26
  end
27
27
 
28
28
  # Returns a PCallableType with the type information, required and optional count, and type information about
@@ -34,7 +34,7 @@ class Puppet::Pops::Evaluator::CallableSignature
34
34
  # @api public
35
35
  #
36
36
  def type
37
- raise NotImplementedError.new
37
+ raise NotImplementedError
38
38
  end
39
39
 
40
40
  # Returns the expected type for an optional block. The type may be nil, which means that the callable does
@@ -56,7 +56,7 @@ class Puppet::Pops::Evaluator::CallableSignature
56
56
  # @api public
57
57
  #
58
58
  def block_name
59
- raise NotImplementedError.new
59
+ raise NotImplementedError
60
60
  end
61
61
 
62
62
  # Returns a range indicating the optionality of a block. One of [0,0] (does not accept block), [0,1] (optional
@@ -87,7 +87,7 @@ class Puppet::Pops::Evaluator::CallableSignature
87
87
  # @api public
88
88
  #
89
89
  def last_captures_rest?
90
- raise NotImplementedError.new
90
+ raise NotImplementedError
91
91
  end
92
92
 
93
93
  # Returns true if the given x is infinity
@@ -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
@@ -76,6 +76,10 @@ class LiteralEvaluator
76
76
  o.keys.map { |v| literal(v) }
77
77
  end
78
78
 
79
+ def literal_UnaryMinusExpression(o)
80
+ -literal(o.expr)
81
+ end
82
+
79
83
  def literal_ConcatenatedString(o)
80
84
  # use double quoted string value if there is no interpolation
81
85
  throw :not_literal unless o.segments.size == 1 && o.segments[0].is_a?(Model::LiteralString)
@@ -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