puppet 8.5.1-universal-darwin → 8.6.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. metadata +2 -2
@@ -46,7 +46,7 @@ class RecursionGuard
46
46
  def with_this(instance)
47
47
  if (@state & SELF_RECURSION_IN_THIS) == 0
48
48
  tc = this_count
49
- @state = @state | SELF_RECURSION_IN_THIS if this_put(instance)
49
+ @state |= SELF_RECURSION_IN_THIS if this_put(instance)
50
50
  if tc < this_count
51
51
  # recursive state detected
52
52
  result = yield(@state)
@@ -66,7 +66,7 @@ class RecursionGuard
66
66
  def with_that(instance)
67
67
  if (@state & SELF_RECURSION_IN_THAT) == 0
68
68
  tc = that_count
69
- @state = @state | SELF_RECURSION_IN_THAT if that_put(instance)
69
+ @state |= SELF_RECURSION_IN_THAT if that_put(instance)
70
70
  if tc < that_count
71
71
  # recursive state detected
72
72
  result = yield(@state)
@@ -85,7 +85,7 @@ class RecursionGuard
85
85
  # @return [Integer] the resulting state
86
86
  def add_this(instance)
87
87
  if (@state & SELF_RECURSION_IN_THIS) == 0
88
- @state = @state | SELF_RECURSION_IN_THIS if this_put(instance)
88
+ @state |= SELF_RECURSION_IN_THIS if this_put(instance)
89
89
  end
90
90
  @state
91
91
  end
@@ -95,7 +95,7 @@ class RecursionGuard
95
95
  # @return [Integer] the resulting state
96
96
  def add_that(instance)
97
97
  if (@state & SELF_RECURSION_IN_THAT) == 0
98
- @state = @state | SELF_RECURSION_IN_THAT if that_put(instance)
98
+ @state |= SELF_RECURSION_IN_THAT if that_put(instance)
99
99
  end
100
100
  @state
101
101
  end
@@ -64,7 +64,7 @@ class RubyGenerator < TypeFormatter
64
64
  class_body(key, EMPTY_ARRAY, class_def)
65
65
  cls = Class.new(parent_class)
66
66
  cls.class_eval(class_def)
67
- cls.define_singleton_method(:_pcore_type) { return key }
67
+ cls.define_singleton_method(:_pcore_type) { key }
68
68
  key.implementation_class = cls
69
69
  end
70
70
  hash[key] = cls
@@ -220,7 +220,7 @@ class RubyGenerator < TypeFormatter
220
220
  end
221
221
 
222
222
  init_params = others.reject { |a| a.kind == PObjectType::ATTRIBUTE_KIND_DERIVED }
223
- opt, non_opt = init_params.partition { |ip| ip.value? }
223
+ opt, non_opt = init_params.partition(&:value?)
224
224
  derived_attrs, obj_attrs = others.select { |a| a.container.equal?(obj) }.partition { |ip| ip.kind == PObjectType::ATTRIBUTE_KIND_DERIVED }
225
225
 
226
226
  include_type = obj.equality_include_type? && !(obj.parent.is_a?(PObjectType) && obj.parent.equality_include_type?)
@@ -47,7 +47,7 @@ class StringConverter
47
47
  end
48
48
 
49
49
  def padding
50
- return ' ' * 2 * level
50
+ ' ' * 2 * level
51
51
  end
52
52
  end
53
53
 
@@ -89,7 +89,7 @@ class StringConverter
89
89
 
90
90
  FMT_PATTERN_STR = '^%([\s\[+#0{<(|-]*)([1-9][0-9]*)?(?:\.([0-9]+))?([a-zA-Z])$'
91
91
  FMT_PATTERN = Regexp.compile(FMT_PATTERN_STR)
92
- DELIMITERS = ['[', '{', '(', '<', '|',]
92
+ DELIMITERS = ['[', '{', '(', '<', '|']
93
93
  DELIMITER_MAP = {
94
94
  '[' => ['[', ']'],
95
95
  '{' => ['{', '}'],
@@ -119,13 +119,17 @@ class StringConverter
119
119
 
120
120
  @left = flags.include?('-')
121
121
  @alt = flags.include?('#')
122
- @plus = (flags.include?(' ') ? :space : (flags.include?('+') ? :plus : :ignore))
122
+ @plus = if flags.include?(' ')
123
+ :space
124
+ else
125
+ flags.include?('+') ? :plus : :ignore
126
+ end
123
127
  @zero_pad = flags.include?('0')
124
128
 
125
129
  @delimiters = nil
126
130
  DELIMITERS.each do |d|
127
131
  next unless flags.include?(d)
128
- if !@delimiters.nil?
132
+ unless @delimiters.nil?
129
133
  raise ArgumentError, "Only one of the delimiters [ { ( < | can be given in the format flags, got '#{fmt}'"
130
134
  end
131
135
 
@@ -550,7 +554,7 @@ class StringConverter
550
554
  end
551
555
  private :validate_input
552
556
 
553
- FMT_KEYS = %w{separator separator2 format string_formats}.freeze
557
+ FMT_KEYS = %w[separator separator2 format string_formats].freeze
554
558
 
555
559
  def validate_container_input(fmt)
556
560
  if (fmt.keys - FMT_KEYS).size > 0
@@ -786,7 +790,7 @@ class StringConverter
786
790
  Kernel.format(f.orig_fmt.gsub('s', substitute), val_to_convert)
787
791
 
788
792
  when :p
789
- # width & precision applied to string, not the the name of the type
793
+ # width & precision applied to string, not the name of the type
790
794
  "Binary(\"#{Kernel.format(f.orig_fmt.tr('p', 's'), val.to_s)}\")"
791
795
 
792
796
  when :b
@@ -826,7 +830,7 @@ class StringConverter
826
830
  f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('c', 's'), c_val)
827
831
 
828
832
  when :C
829
- c_val = val.split('::').map { |s| s.capitalize }.join('::')
833
+ c_val = val.split('::').map(&:capitalize).join('::')
830
834
  f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('C', 's'), c_val)
831
835
 
832
836
  when :u
@@ -1132,7 +1136,7 @@ class StringConverter
1132
1136
  fmt = format_options.find { |k, _| k.assignable?(val_t) }
1133
1137
  return fmt[1] unless fmt.nil?
1134
1138
 
1135
- return Format.new("%s")
1139
+ Format.new("%s")
1136
1140
  end
1137
1141
  private :get_format
1138
1142
  end
@@ -108,12 +108,10 @@ class TreeIterator
108
108
  private :indexer_on
109
109
 
110
110
  def has_next?(iterator)
111
- begin
112
- iterator.peek
113
- true
114
- rescue StopIteration
115
- false
116
- end
111
+ iterator.peek
112
+ true
113
+ rescue StopIteration
114
+ false
117
115
  end
118
116
  private :has_next?
119
117
 
@@ -132,15 +132,15 @@ class TypeCalculator
132
132
  # @api private
133
133
  def self.infer_callable_methods_t(o)
134
134
  # If being a value that cannot have Pcore based methods callable from Puppet Language
135
- if (o.is_a?(String) ||
136
- o.is_a?(Numeric) ||
137
- o.is_a?(TrueClass) ||
138
- o.is_a?(FalseClass) ||
139
- o.is_a?(Regexp) ||
140
- o.instance_of?(Array) ||
141
- o.instance_of?(Hash) ||
142
- Types::PUndefType::DEFAULT.instance?(o)
143
- )
135
+ if o.is_a?(String) ||
136
+ o.is_a?(Numeric) ||
137
+ o.is_a?(TrueClass) ||
138
+ o.is_a?(FalseClass) ||
139
+ o.is_a?(Regexp) ||
140
+ o.instance_of?(Array) ||
141
+ o.instance_of?(Hash) ||
142
+ Types::PUndefType::DEFAULT.instance?(o)
143
+
144
144
  return nil
145
145
  end
146
146
 
@@ -386,7 +386,7 @@ class TypeCalculator
386
386
  end
387
387
 
388
388
  if t1.is_a?(PStringType) && (t2.is_a?(PStringType) || t2.is_a?(PEnumType))
389
- if (t2.is_a?(PEnumType))
389
+ if t2.is_a?(PEnumType)
390
390
  return t1.value.nil? ? PEnumType::DEFAULT : PEnumType.new(t2.values | [t1.value])
391
391
  end
392
392
 
@@ -248,7 +248,11 @@ module TypeFactory
248
248
  # @api public
249
249
  #
250
250
  def self.boolean(value = nil)
251
- value.nil? ? PBooleanType::DEFAULT : (value ? PBooleanType::TRUE : PBooleanType::FALSE)
251
+ if value.nil?
252
+ PBooleanType::DEFAULT
253
+ else
254
+ value ? PBooleanType::TRUE : PBooleanType::FALSE
255
+ end
252
256
  end
253
257
 
254
258
  # Produces the Any type
@@ -309,7 +313,7 @@ module TypeFactory
309
313
  # @api public
310
314
  #
311
315
  def self.all_callables
312
- return PCallableType::DEFAULT
316
+ PCallableType::DEFAULT
313
317
  end
314
318
 
315
319
  # Produces a Callable type with one signature without support for a block
@@ -623,7 +627,7 @@ module TypeFactory
623
627
  # @param type_string [String] the string form of the type
624
628
  # @return [PTypeReferenceType] the type reference
625
629
  def self.type_reference(type_string = nil)
626
- type_string == nil ? PTypeReferenceType::DEFAULT : PTypeReferenceType.new(type_string)
630
+ type_string.nil? ? PTypeReferenceType::DEFAULT : PTypeReferenceType.new(type_string)
627
631
  end
628
632
 
629
633
  # Returns true if the given type t is of valid range parameter type (integer
@@ -687,37 +687,35 @@ class TypeFormatter
687
687
  end
688
688
 
689
689
  def append_object_hash(hash)
690
- begin
691
- @expanded = false
692
- append_array('Object') do
693
- append_hash(hash, proc { |k| @bld << symbolic_key(k) }) do |k, v|
694
- case k
695
- when KEY_ATTRIBUTES, KEY_FUNCTIONS
696
- # Types might need to be output as type references
697
- append_hash(v) do |_, fv|
698
- if fv.is_a?(Hash)
699
- append_hash(fv, proc { |fak| @bld << symbolic_key(fak) }) do |fak, fav|
700
- case fak
701
- when KEY_KIND
702
- @bld << fav
703
- else
704
- append_string(fav)
705
- end
690
+ @expanded = false
691
+ append_array('Object') do
692
+ append_hash(hash, proc { |k| @bld << symbolic_key(k) }) do |k, v|
693
+ case k
694
+ when KEY_ATTRIBUTES, KEY_FUNCTIONS
695
+ # Types might need to be output as type references
696
+ append_hash(v) do |_, fv|
697
+ if fv.is_a?(Hash)
698
+ append_hash(fv, proc { |fak| @bld << symbolic_key(fak) }) do |fak, fav|
699
+ case fak
700
+ when KEY_KIND
701
+ @bld << fav
702
+ else
703
+ append_string(fav)
706
704
  end
707
- else
708
- append_string(fv)
709
705
  end
706
+ else
707
+ append_string(fv)
710
708
  end
711
- when KEY_EQUALITY
712
- append_array('') { append_strings(v) } if v.is_a?(Array)
713
- else
714
- append_string(v)
715
709
  end
710
+ when KEY_EQUALITY
711
+ append_array('') { append_strings(v) } if v.is_a?(Array)
712
+ else
713
+ append_string(v)
716
714
  end
717
715
  end
718
- ensure
719
- @expanded = true
720
716
  end
717
+ ensure
718
+ @expanded = true
721
719
  end
722
720
 
723
721
  def append_elements(array, to_be_continued = false)
@@ -131,7 +131,7 @@ module Types
131
131
 
132
132
  chopped_path = @path.clone
133
133
  chopped_path.delete_at(element_index)
134
- copy = self.clone
134
+ copy = clone
135
135
  copy.instance_variable_set(:@path, chopped_path)
136
136
  copy
137
137
  end
@@ -287,7 +287,7 @@ module Types
287
287
  if e.is_a?(Array)
288
288
  if report_detailed?(e, a)
289
289
  a = detailed_actual_to_s(e, a)
290
- e = e.map { |t| t.to_alias_expanded_s }
290
+ e = e.map(&:to_alias_expanded_s)
291
291
  else
292
292
  e = e.map { |t| short_name(t) }.uniq
293
293
  a = short_name(a)
@@ -533,10 +533,10 @@ module Types
533
533
  when 0
534
534
  # do nothing
535
535
  when 1
536
- raise Puppet::ParseError.new("#{subject}:#{errors[0].format}")
536
+ raise Puppet::ParseError, "#{subject}:#{errors[0].format}"
537
537
  else
538
- errors_str = errors.map { |error| error.format }.join("\n ")
539
- raise Puppet::ParseError.new("#{subject}:\n #{errors_str}")
538
+ errors_str = errors.map(&:format).join("\n ")
539
+ raise Puppet::ParseError, "#{subject}:\n #{errors_str}"
540
540
  end
541
541
  end
542
542
 
@@ -556,7 +556,7 @@ module Types
556
556
  when 1
557
557
  errors[0].format.strip
558
558
  else
559
- errors.map { |error| error.format }.join("\n ")
559
+ errors.map(&:format).join("\n ")
560
560
  end
561
561
  end
562
562
 
@@ -574,10 +574,10 @@ module Types
574
574
  when 0
575
575
  # do nothing
576
576
  when 1
577
- raise Puppet::ParseError.new("#{subject}:#{errors[0].format}")
577
+ raise Puppet::ParseError, "#{subject}:#{errors[0].format}"
578
578
  else
579
- errors_str = errors.map { |error| error.format }.join("\n ")
580
- raise Puppet::ParseError.new("#{subject}:\n #{errors_str}")
579
+ errors_str = errors.map(&:format).join("\n ")
580
+ raise Puppet::ParseError, "#{subject}:\n #{errors_str}"
581
581
  end
582
582
  end
583
583
  end
@@ -758,19 +758,19 @@ module Types
758
758
  descriptions = variant_descriptions.flatten
759
759
  [size_mismatch_class, MissingRequiredBlock, UnexpectedBlock, TypeMismatch].each do |mismatch_class|
760
760
  mismatches = descriptions.select { |desc| desc.is_a?(mismatch_class) }
761
- if mismatches.size == variant_descriptions.size
762
- # If they all have the same canonical path, then we can compact this into one
763
- generic_mismatch = mismatches.inject do |prev, curr|
764
- break nil unless prev.canonical_path == curr.canonical_path
761
+ next unless mismatches.size == variant_descriptions.size
765
762
 
766
- prev.merge(prev.path, curr)
767
- end
768
- unless generic_mismatch.nil?
769
- # Report the generic mismatch and skip the rest
770
- descriptions = [generic_mismatch]
771
- break
772
- end
763
+ # If they all have the same canonical path, then we can compact this into one
764
+ generic_mismatch = mismatches.inject do |prev, curr|
765
+ break nil unless prev.canonical_path == curr.canonical_path
766
+
767
+ prev.merge(prev.path, curr)
773
768
  end
769
+ next if generic_mismatch.nil?
770
+
771
+ # Report the generic mismatch and skip the rest
772
+ descriptions = [generic_mismatch]
773
+ break
774
774
  end
775
775
  descriptions = descriptions.uniq
776
776
  descriptions.size == 1 ? [descriptions[0].chop_path(varying_path_position)] : descriptions
@@ -894,7 +894,7 @@ module Types
894
894
  end
895
895
 
896
896
  def describe_tuple(expected, original, actual, path, size_mismatch_class)
897
- return EMPTY_ARRAY if expected == actual || expected.types.empty? && (actual.is_a?(PArrayType))
897
+ return EMPTY_ARRAY if expected == actual || expected.types.empty? && actual.is_a?(PArrayType)
898
898
 
899
899
  expected_size = expected.size_type || TypeFactory.range(*expected.size_range)
900
900
 
@@ -954,9 +954,7 @@ module Types
954
954
  if param_errors.empty?
955
955
  this_return_t = expected.return_type || PAnyType::DEFAULT
956
956
  that_return_t = actual.return_type || PAnyType::DEFAULT
957
- unless this_return_t.assignable?(that_return_t)
958
- [TypeMismatch.new(path + [ReturnTypeElement.new], this_return_t, that_return_t)]
959
- else
957
+ if this_return_t.assignable?(that_return_t)
960
958
  # names are ignored, they are just information
961
959
  # Blocks must be compatible
962
960
  this_block_t = expected.block_type || PUndefType::DEFAULT
@@ -966,6 +964,8 @@ module Types
966
964
  else
967
965
  [TypeMismatch.new(path + [BlockPathElement.new], this_block_t, that_block_t)]
968
966
  end
967
+ else
968
+ [TypeMismatch.new(path + [ReturnTypeElement.new], this_return_t, that_return_t)]
969
969
  end
970
970
  else
971
971
  param_errors
@@ -57,7 +57,7 @@ class TypedModelObject < Object
57
57
  def self.register_ptypes(loader, ir)
58
58
  types = [
59
59
  Annotation.register_ptype(loader, ir),
60
- RubyMethod.register_ptype(loader, ir),
60
+ RubyMethod.register_ptype(loader, ir)
61
61
  ]
62
62
  Types.constants.each do |c|
63
63
  next if c == :PType || c == :PHostClassType
@@ -131,7 +131,7 @@ class PAnyType < TypedModelObject
131
131
  end
132
132
  when PVariantType
133
133
  # Assignable if all contained types are assignable, or if this is exactly Any
134
- return true if self.instance_of?(PAnyType)
134
+ return true if instance_of?(PAnyType)
135
135
  # An empty variant may be assignable to NotUndef[T] if T is assignable to empty variant
136
136
  return _assignable?(o, guard) if is_a?(PNotUndefType) && o.types.empty?
137
137
 
@@ -342,7 +342,7 @@ class PAnyType < TypedModelObject
342
342
  # @raises ArgumentError
343
343
  #
344
344
  def self.new_function(type)
345
- raise ArgumentError.new("Creation of new instance of type '#{type}' is not supported")
345
+ raise ArgumentError, "Creation of new instance of type '#{type}' is not supported"
346
346
  end
347
347
 
348
348
  # Answers the question if instances of this type can represent themselves as a string that
@@ -400,7 +400,7 @@ class PAnyType < TypedModelObject
400
400
  modified = false
401
401
  modified_types = types.map do |t|
402
402
  t_mod = t.send(method, *method_args)
403
- modified = !t.equal?(t_mod) unless modified
403
+ modified ||= !t.equal?(t_mod)
404
404
  t_mod
405
405
  end
406
406
  if modified
@@ -737,7 +737,7 @@ class PScalarDataType < PScalarType
737
737
  end
738
738
 
739
739
  def instance?(o, guard = nil)
740
- return o.instance_of?(String) || o.is_a?(Integer) || o.is_a?(Float) || o.is_a?(TrueClass) || o.is_a?(FalseClass)
740
+ o.instance_of?(String) || o.is_a?(Integer) || o.is_a?(Float) || o.is_a?(TrueClass) || o.is_a?(FalseClass)
741
741
  end
742
742
 
743
743
  DEFAULT = PScalarDataType.new
@@ -919,9 +919,9 @@ class PNumericType < PScalarDataType
919
919
 
920
920
  Puppet::Pops::Utils.to_n(from)
921
921
  rescue TypeError => e
922
- raise TypeConversionError.new(e.message)
922
+ raise TypeConversionError, e.message
923
923
  rescue ArgumentError => e
924
- raise TypeConversionError.new(e.message)
924
+ raise TypeConversionError, e.message
925
925
  end
926
926
  end
927
927
  end
@@ -952,7 +952,7 @@ class PNumericType < PScalarDataType
952
952
  # @return [Boolean] `true` if this range intersects with the other range
953
953
  # @api public
954
954
  def intersect?(o)
955
- self.instance_of?(o.class) && !(@to < o.numeric_from || o.numeric_to < @from)
955
+ instance_of?(o.class) && !(@to < o.numeric_from || o.numeric_to < @from)
956
956
  end
957
957
 
958
958
  # Returns the lower bound of the numeric range or `nil` if no lower bound is set.
@@ -1088,7 +1088,11 @@ class PIntegerType < PNumericType
1088
1088
  # numbers are converted to zero
1089
1089
  # @return [PIntegerType] a positive range
1090
1090
  def to_size
1091
- @from >= 0 ? self : PIntegerType.new(0, @to < 0 ? 0 : @to)
1091
+ if @from >= 0
1092
+ self
1093
+ else
1094
+ PIntegerType.new(0, @to < 0 ? 0 : @to)
1095
+ end
1092
1096
  end
1093
1097
 
1094
1098
  def new_function
@@ -1142,7 +1146,7 @@ class PIntegerType < PNumericType
1142
1146
  begin
1143
1147
  radix == :default ? Integer(from) : Integer(from, radix)
1144
1148
  rescue TypeError => e
1145
- raise TypeConversionError.new(e.message)
1149
+ raise TypeConversionError, e.message
1146
1150
  rescue ArgumentError => e
1147
1151
  # Test for special case where there is whitespace between sign and number
1148
1152
  match = Patterns::WS_BETWEEN_SIGN_AND_NUMBER.match(from)
@@ -1154,7 +1158,7 @@ class PIntegerType < PNumericType
1154
1158
  # Ignored to retain original error
1155
1159
  end
1156
1160
  end
1157
- raise TypeConversionError.new(e.message)
1161
+ raise TypeConversionError, e.message
1158
1162
  end
1159
1163
  end
1160
1164
  end
@@ -1184,7 +1188,7 @@ class PIntegerType < PNumericType
1184
1188
  when 2, 8, 10, 16
1185
1189
  # do nothing
1186
1190
  else
1187
- raise ArgumentError.new(_("Illegal radix: %{radix}, expected 2, 8, 10, 16, or default") % { radix: radix })
1191
+ raise ArgumentError, _("Illegal radix: %{radix}, expected 2, 8, 10, 16, or default") % { radix: radix }
1188
1192
  end
1189
1193
  radix
1190
1194
  end
@@ -1277,7 +1281,7 @@ class PFloatType < PNumericType
1277
1281
  end
1278
1282
  Float(from)
1279
1283
  rescue TypeError => e
1280
- raise TypeConversionError.new(e.message)
1284
+ raise TypeConversionError, e.message
1281
1285
  rescue ArgumentError => e
1282
1286
  # Test for special case where there is whitespace between sign and number
1283
1287
  match = Patterns::WS_BETWEEN_SIGN_AND_NUMBER.match(from)
@@ -1289,7 +1293,7 @@ class PFloatType < PNumericType
1289
1293
  # Ignored to retain original error
1290
1294
  end
1291
1295
  end
1292
- raise TypeConversionError.new(e.message)
1296
+ raise TypeConversionError, e.message
1293
1297
  end
1294
1298
  end
1295
1299
  end
@@ -1816,7 +1820,7 @@ class PPatternType < PScalarDataType
1816
1820
  else
1817
1821
  # the string in String type must match one of the patterns in Pattern type,
1818
1822
  # or Pattern represents all Patterns == all Strings
1819
- regexps = @patterns.map { |p| p.regexp }
1823
+ regexps = @patterns.map(&:regexp)
1820
1824
  regexps.empty? || regexps.any? { |re| re.match(v) }
1821
1825
  end
1822
1826
  when PEnumType
@@ -1827,7 +1831,7 @@ class PPatternType < PScalarDataType
1827
1831
  else
1828
1832
  # all strings in String/Enum type must match one of the patterns in Pattern type,
1829
1833
  # or Pattern represents all Patterns == all Strings
1830
- regexps = @patterns.map { |p| p.regexp }
1834
+ regexps = @patterns.map(&:regexp)
1831
1835
  regexps.empty? || o.values.all? { |s| regexps.any? { |re| re.match(s) } }
1832
1836
  end
1833
1837
  when PPatternType
@@ -1963,7 +1967,7 @@ class PStructElement < TypedModelObject
1963
1967
  end
1964
1968
 
1965
1969
  def <=>(o)
1966
- self.name <=> o.name
1970
+ name <=> o.name
1967
1971
  end
1968
1972
 
1969
1973
  def eql?(o)
@@ -2045,8 +2049,8 @@ class PStructType < PAnyType
2045
2049
  else
2046
2050
  PIterableType.new(
2047
2051
  PTupleType.new([
2048
- PVariantType.maybe_create(@elements.map { |se| se.key_type }),
2049
- PVariantType.maybe_create(@elements.map { |se| se.value_type })
2052
+ PVariantType.maybe_create(@elements.map(&:key_type)),
2053
+ PVariantType.maybe_create(@elements.map(&:value_type))
2050
2054
  ],
2051
2055
  PHashType::KEY_PAIR_TUPLE_SIZE)
2052
2056
  )
@@ -2434,7 +2438,7 @@ class PCallableType < PAnyType
2434
2438
  return false unless @param_types.instance?(args)
2435
2439
 
2436
2440
  if @block_type.nil?
2437
- block == nil
2441
+ block.nil?
2438
2442
  else
2439
2443
  @block_type.instance?(block)
2440
2444
  end
@@ -2842,7 +2846,7 @@ class PHashType < PCollectionType
2842
2846
  {}
2843
2847
  else
2844
2848
  unless from.size.even?
2845
- raise TypeConversionError.new(_('odd number of arguments for Hash'))
2849
+ raise TypeConversionError, _('odd number of arguments for Hash')
2846
2850
  end
2847
2851
 
2848
2852
  Hash[*from]
@@ -2854,7 +2858,7 @@ class PHashType < PCollectionType
2854
2858
  Hash[*Iterable.on(from).to_a]
2855
2859
  else
2856
2860
  t = TypeCalculator.singleton.infer(from).generalize
2857
- raise TypeConversionError.new(_("Value of type %{type} cannot be converted to Hash") % { type: t })
2861
+ raise TypeConversionError, _("Value of type %{type} cannot be converted to Hash") % { type: t }
2858
2862
  end
2859
2863
  end
2860
2864
  end
@@ -3054,7 +3058,7 @@ class PVariantType < PAnyType
3054
3058
  not_undefs = parts[0]
3055
3059
  if not_undefs.size > 1
3056
3060
  others = parts[1]
3057
- others << PNotUndefType.new(PVariantType.maybe_create(not_undefs.map { |not_undef| not_undef.type }).normalize)
3061
+ others << PNotUndefType.new(PVariantType.maybe_create(not_undefs.map(&:type)).normalize)
3058
3062
  array = others
3059
3063
  end
3060
3064
  end
@@ -3097,7 +3101,7 @@ class PVariantType < PAnyType
3097
3101
  patterns = parts[0]
3098
3102
  if patterns.size > 1
3099
3103
  others = parts[1]
3100
- others << PPatternType.new(patterns.map { |pattern| pattern.patterns }.flatten.uniq)
3104
+ others << PPatternType.new(patterns.map(&:patterns).flatten.uniq)
3101
3105
  array = others
3102
3106
  end
3103
3107
  end