puppet 8.5.0 → 8.6.0

Sign up to get free protection for your applications and to get access to all the features.
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