puppet 8.5.1-universal-darwin → 8.7.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +55 -48
  4. data/Rakefile +45 -22
  5. data/examples/hiera/README.md +68 -57
  6. data/examples/hiera/data/common.yaml +12 -0
  7. data/examples/hiera/data/dc1.yaml +6 -0
  8. data/examples/hiera/hiera.yaml +15 -0
  9. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  10. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  11. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  12. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  13. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  14. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  15. data/examples/hiera/site.pp +1 -1
  16. data/ext/project_data.yaml +0 -45
  17. data/ext/windows/service/daemon.rb +49 -55
  18. data/lib/hiera/scope.rb +3 -3
  19. data/lib/hiera_puppet.rb +1 -1
  20. data/lib/puppet/agent/disabler.rb +1 -1
  21. data/lib/puppet/application/agent.rb +2 -2
  22. data/lib/puppet/application/apply.rb +2 -2
  23. data/lib/puppet/application/describe.rb +6 -6
  24. data/lib/puppet/application/device.rb +99 -100
  25. data/lib/puppet/application/doc.rb +1 -1
  26. data/lib/puppet/application/face_base.rb +7 -7
  27. data/lib/puppet/application/filebucket.rb +1 -1
  28. data/lib/puppet/application/lookup.rb +5 -5
  29. data/lib/puppet/application/resource.rb +10 -3
  30. data/lib/puppet/application/ssl.rb +3 -3
  31. data/lib/puppet/application.rb +16 -18
  32. data/lib/puppet/coercion.rb +1 -1
  33. data/lib/puppet/configurer/downloader.rb +9 -4
  34. data/lib/puppet/configurer/fact_handler.rb +12 -13
  35. data/lib/puppet/configurer.rb +16 -18
  36. data/lib/puppet/confine/feature.rb +1 -1
  37. data/lib/puppet/confine/variable.rb +1 -1
  38. data/lib/puppet/confine.rb +2 -2
  39. data/lib/puppet/confine_collection.rb +1 -1
  40. data/lib/puppet/confiner.rb +2 -2
  41. data/lib/puppet/daemon.rb +4 -3
  42. data/lib/puppet/datatypes.rb +5 -6
  43. data/lib/puppet/defaults.rb +14 -8
  44. data/lib/puppet/environments.rb +3 -7
  45. data/lib/puppet/error.rb +3 -3
  46. data/lib/puppet/external/dot.rb +42 -34
  47. data/lib/puppet/face/catalog/select.rb +1 -1
  48. data/lib/puppet/face/epp.rb +7 -9
  49. data/lib/puppet/face/help.rb +12 -12
  50. data/lib/puppet/face/module/changes.rb +1 -3
  51. data/lib/puppet/face/module/list.rb +37 -37
  52. data/lib/puppet/face/node/clean.rb +1 -1
  53. data/lib/puppet/face/parser.rb +6 -8
  54. data/lib/puppet/face/report.rb +5 -7
  55. data/lib/puppet/facter_impl.rb +1 -1
  56. data/lib/puppet/feature/base.rb +9 -11
  57. data/lib/puppet/feature/pe_license.rb +1 -1
  58. data/lib/puppet/feature/ssh.rb +1 -1
  59. data/lib/puppet/feature/telnet.rb +3 -5
  60. data/lib/puppet/feature/zlib.rb +1 -1
  61. data/lib/puppet/ffi/windows/constants.rb +1 -1
  62. data/lib/puppet/ffi/windows/functions.rb +2 -2
  63. data/lib/puppet/ffi/windows/structs.rb +3 -3
  64. data/lib/puppet/file_bucket/dipper.rb +4 -4
  65. data/lib/puppet/file_bucket/file.rb +4 -4
  66. data/lib/puppet/file_serving/base.rb +5 -5
  67. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  68. data/lib/puppet/file_serving/configuration.rb +3 -3
  69. data/lib/puppet/file_serving/fileset.rb +13 -13
  70. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  71. data/lib/puppet/file_serving/metadata.rb +13 -9
  72. data/lib/puppet/file_serving/mount/file.rb +6 -6
  73. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  74. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  75. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  76. data/lib/puppet/file_serving/mount.rb +1 -1
  77. data/lib/puppet/file_system/file_impl.rb +3 -3
  78. data/lib/puppet/file_system/memory_impl.rb +1 -1
  79. data/lib/puppet/file_system/path_pattern.rb +1 -1
  80. data/lib/puppet/file_system/uniquefile.rb +17 -16
  81. data/lib/puppet/file_system/windows.rb +26 -18
  82. data/lib/puppet/forge/cache.rb +2 -2
  83. data/lib/puppet/forge/errors.rb +1 -1
  84. data/lib/puppet/forge/repository.rb +2 -2
  85. data/lib/puppet/forge.rb +13 -19
  86. data/lib/puppet/functions/abs.rb +2 -2
  87. data/lib/puppet/functions/camelcase.rb +1 -1
  88. data/lib/puppet/functions/compare.rb +2 -2
  89. data/lib/puppet/functions/contain.rb +1 -1
  90. data/lib/puppet/functions/defined.rb +2 -2
  91. data/lib/puppet/functions/dig.rb +1 -1
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  93. data/lib/puppet/functions/get.rb +1 -1
  94. data/lib/puppet/functions/hocon_data.rb +3 -5
  95. data/lib/puppet/functions/import.rb +1 -1
  96. data/lib/puppet/functions/json_data.rb +4 -6
  97. data/lib/puppet/functions/max.rb +2 -2
  98. data/lib/puppet/functions/min.rb +2 -2
  99. data/lib/puppet/functions/new.rb +1 -1
  100. data/lib/puppet/functions/reduce.rb +6 -10
  101. data/lib/puppet/functions/regsubst.rb +2 -2
  102. data/lib/puppet/functions/require.rb +1 -1
  103. data/lib/puppet/functions/yaml_data.rb +11 -13
  104. data/lib/puppet/functions.rb +32 -37
  105. data/lib/puppet/generate/type.rb +2 -2
  106. data/lib/puppet/gettext/config.rb +9 -9
  107. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  108. data/lib/puppet/graph/relationship_graph.rb +12 -12
  109. data/lib/puppet/graph/simple_graph.rb +8 -10
  110. data/lib/puppet/http/client.rb +1 -1
  111. data/lib/puppet/http/dns.rb +4 -4
  112. data/lib/puppet/http/external_client.rb +1 -1
  113. data/lib/puppet/http/factory.rb +1 -1
  114. data/lib/puppet/http/proxy.rb +15 -15
  115. data/lib/puppet/http/redirector.rb +6 -2
  116. data/lib/puppet/http/resolver.rb +2 -2
  117. data/lib/puppet/http/retry_after_handler.rb +2 -2
  118. data/lib/puppet/http/service/ca.rb +1 -1
  119. data/lib/puppet/http/service/compiler.rb +4 -4
  120. data/lib/puppet/http/service/file_server.rb +1 -1
  121. data/lib/puppet/http/service/report.rb +2 -2
  122. data/lib/puppet/http/service.rb +9 -13
  123. data/lib/puppet/http/session.rb +1 -1
  124. data/lib/puppet/http/site.rb +1 -1
  125. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  126. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  127. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  128. data/lib/puppet/indirector/exec.rb +2 -2
  129. data/lib/puppet/indirector/face.rb +7 -9
  130. data/lib/puppet/indirector/fact_search.rb +1 -1
  131. data/lib/puppet/indirector/facts/facter.rb +6 -6
  132. data/lib/puppet/indirector/facts/json.rb +1 -1
  133. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  134. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  135. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  136. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  137. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  138. data/lib/puppet/indirector/hiera.rb +1 -1
  139. data/lib/puppet/indirector/indirection.rb +27 -29
  140. data/lib/puppet/indirector/json.rb +4 -4
  141. data/lib/puppet/indirector/memory.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +5 -5
  143. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  144. data/lib/puppet/indirector/none.rb +1 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/yaml.rb +1 -1
  147. data/lib/puppet/indirector/request.rb +4 -4
  148. data/lib/puppet/indirector/resource/ral.rb +2 -4
  149. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  150. data/lib/puppet/indirector/terminus.rb +4 -4
  151. data/lib/puppet/indirector/yaml.rb +3 -3
  152. data/lib/puppet/info_service/class_information_service.rb +5 -8
  153. data/lib/puppet/info_service/task_information_service.rb +6 -7
  154. data/lib/puppet/interface/action.rb +5 -5
  155. data/lib/puppet/interface/action_manager.rb +5 -5
  156. data/lib/puppet/interface/documentation.rb +5 -5
  157. data/lib/puppet/interface/face_collection.rb +7 -7
  158. data/lib/puppet/interface/option.rb +2 -2
  159. data/lib/puppet/interface/option_manager.rb +6 -6
  160. data/lib/puppet/interface.rb +4 -4
  161. data/lib/puppet/metatype/manager.rb +2 -2
  162. data/lib/puppet/module/plan.rb +10 -10
  163. data/lib/puppet/module/task.rb +8 -8
  164. data/lib/puppet/module.rb +39 -41
  165. data/lib/puppet/module_tool/applications/application.rb +10 -8
  166. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  167. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  168. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  169. data/lib/puppet/module_tool/checksums.rb +2 -2
  170. data/lib/puppet/module_tool/dependency.rb +1 -1
  171. data/lib/puppet/module_tool/errors/base.rb +1 -1
  172. data/lib/puppet/module_tool/install_directory.rb +1 -1
  173. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  174. data/lib/puppet/module_tool/metadata.rb +12 -8
  175. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  176. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  177. data/lib/puppet/module_tool.rb +4 -4
  178. data/lib/puppet/network/client_request.rb +5 -3
  179. data/lib/puppet/network/format.rb +2 -2
  180. data/lib/puppet/network/format_support.rb +1 -1
  181. data/lib/puppet/network/formats.rb +1 -1
  182. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  183. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  184. data/lib/puppet/network/http/connection.rb +1 -1
  185. data/lib/puppet/network/http/handler.rb +8 -12
  186. data/lib/puppet/network/http/request.rb +1 -1
  187. data/lib/puppet/network/http/route.rb +9 -9
  188. data/lib/puppet/node/environment.rb +21 -23
  189. data/lib/puppet/node/facts.rb +1 -1
  190. data/lib/puppet/node.rb +5 -5
  191. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  192. data/lib/puppet/pal/pal_impl.rb +48 -50
  193. data/lib/puppet/pal/plan_signature.rb +1 -1
  194. data/lib/puppet/pal/task_signature.rb +1 -1
  195. data/lib/puppet/parameter/package_options.rb +1 -1
  196. data/lib/puppet/parameter/value.rb +2 -2
  197. data/lib/puppet/parameter/value_collection.rb +7 -7
  198. data/lib/puppet/parameter.rb +8 -9
  199. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  200. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  201. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  202. data/lib/puppet/parser/ast/resource.rb +4 -4
  203. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  204. data/lib/puppet/parser/ast.rb +14 -15
  205. data/lib/puppet/parser/compiler.rb +26 -28
  206. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  207. data/lib/puppet/parser/functions/fail.rb +1 -1
  208. data/lib/puppet/parser/functions/generate.rb +2 -2
  209. data/lib/puppet/parser/functions/tag.rb +1 -1
  210. data/lib/puppet/parser/functions.rb +2 -2
  211. data/lib/puppet/parser/relationship.rb +3 -1
  212. data/lib/puppet/parser/resource/param.rb +2 -2
  213. data/lib/puppet/parser/resource.rb +23 -23
  214. data/lib/puppet/parser/scope.rb +10 -10
  215. data/lib/puppet/parser/script_compiler.rb +1 -1
  216. data/lib/puppet/parser/templatewrapper.rb +1 -1
  217. data/lib/puppet/parser/type_loader.rb +10 -12
  218. data/lib/puppet/parser.rb +1 -1
  219. data/lib/puppet/pops/adaptable.rb +1 -1
  220. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  221. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  222. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  223. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  224. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  225. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  226. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  227. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  228. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  229. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  230. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  231. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  232. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  233. data/lib/puppet/pops/functions/function.rb +14 -16
  234. data/lib/puppet/pops/issue_reporter.rb +2 -2
  235. data/lib/puppet/pops/label_provider.rb +2 -2
  236. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  237. data/lib/puppet/pops/loader/loader.rb +4 -4
  238. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  239. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  240. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  241. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  242. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  243. data/lib/puppet/pops/loader/static_loader.rb +5 -5
  244. data/lib/puppet/pops/loaders.rb +3 -3
  245. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  246. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  247. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  248. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  249. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  250. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  251. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  252. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  253. data/lib/puppet/pops/lookup/module_data_provider.rb +9 -9
  254. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  255. data/lib/puppet/pops/merge_strategy.rb +6 -6
  256. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  257. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  258. data/lib/puppet/pops/model/factory.rb +4 -5
  259. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  260. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  261. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  262. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  263. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  264. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  265. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  266. data/lib/puppet/pops/parser/locator.rb +4 -4
  267. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  268. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  269. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  270. data/lib/puppet/pops/patterns.rb +12 -12
  271. data/lib/puppet/pops/pcore.rb +1 -1
  272. data/lib/puppet/pops/pn.rb +2 -2
  273. data/lib/puppet/pops/puppet_stack.rb +1 -1
  274. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  275. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  276. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  277. data/lib/puppet/pops/time/timestamp.rb +1 -1
  278. data/lib/puppet/pops/types/class_loader.rb +4 -6
  279. data/lib/puppet/pops/types/iterable.rb +1 -1
  280. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  281. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  282. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  283. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  284. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  285. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  286. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  287. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  288. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  289. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  290. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  291. data/lib/puppet/pops/types/string_converter.rb +12 -8
  292. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  293. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  294. data/lib/puppet/pops/types/type_factory.rb +7 -3
  295. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  296. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  297. data/lib/puppet/pops/types/types.rb +28 -24
  298. data/lib/puppet/pops/utils.rb +38 -42
  299. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  300. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  301. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  302. data/lib/puppet/pops/validation.rb +4 -4
  303. data/lib/puppet/pops/visitor.rb +2 -2
  304. data/lib/puppet/property/ensure.rb +12 -14
  305. data/lib/puppet/property/keyvalue.rb +4 -4
  306. data/lib/puppet/property/list.rb +4 -4
  307. data/lib/puppet/property/ordered_list.rb +1 -1
  308. data/lib/puppet/property.rb +31 -33
  309. data/lib/puppet/provider/aix_object.rb +1 -1
  310. data/lib/puppet/provider/exec.rb +2 -2
  311. data/lib/puppet/provider/file/posix.rb +19 -17
  312. data/lib/puppet/provider/file/windows.rb +13 -19
  313. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  314. data/lib/puppet/provider/group/groupadd.rb +32 -11
  315. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  316. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  317. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  318. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  319. data/lib/puppet/provider/nameservice.rb +8 -8
  320. data/lib/puppet/provider/package/aix.rb +19 -19
  321. data/lib/puppet/provider/package/appdmg.rb +2 -2
  322. data/lib/puppet/provider/package/apple.rb +1 -1
  323. data/lib/puppet/provider/package/apt.rb +18 -18
  324. data/lib/puppet/provider/package/aptitude.rb +1 -3
  325. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  326. data/lib/puppet/provider/package/blastwave.rb +10 -14
  327. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  328. data/lib/puppet/provider/package/dpkg.rb +11 -13
  329. data/lib/puppet/provider/package/fink.rb +14 -14
  330. data/lib/puppet/provider/package/freebsd.rb +1 -1
  331. data/lib/puppet/provider/package/gem.rb +12 -14
  332. data/lib/puppet/provider/package/macports.rb +2 -2
  333. data/lib/puppet/provider/package/nim.rb +10 -10
  334. data/lib/puppet/provider/package/openbsd.rb +22 -22
  335. data/lib/puppet/provider/package/opkg.rb +6 -6
  336. data/lib/puppet/provider/package/pacman.rb +35 -29
  337. data/lib/puppet/provider/package/pip.rb +25 -24
  338. data/lib/puppet/provider/package/pkg.rb +15 -15
  339. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  340. data/lib/puppet/provider/package/pkgin.rb +2 -2
  341. data/lib/puppet/provider/package/pkgng.rb +5 -5
  342. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  343. data/lib/puppet/provider/package/portage.rb +59 -61
  344. data/lib/puppet/provider/package/ports.rb +12 -11
  345. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  346. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  347. data/lib/puppet/provider/package/rpm.rb +26 -26
  348. data/lib/puppet/provider/package/rug.rb +7 -9
  349. data/lib/puppet/provider/package/sun.rb +4 -4
  350. data/lib/puppet/provider/package/up2date.rb +5 -7
  351. data/lib/puppet/provider/package/urpmi.rb +6 -6
  352. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  353. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  354. data/lib/puppet/provider/package/windows/package.rb +2 -2
  355. data/lib/puppet/provider/package/windows.rb +3 -5
  356. data/lib/puppet/provider/package/xbps.rb +127 -0
  357. data/lib/puppet/provider/package/yum.rb +33 -37
  358. data/lib/puppet/provider/package/zypper.rb +12 -14
  359. data/lib/puppet/provider/package.rb +1 -1
  360. data/lib/puppet/provider/package_targetable.rb +1 -1
  361. data/lib/puppet/provider/parsedfile.rb +9 -9
  362. data/lib/puppet/provider/service/base.rb +16 -21
  363. data/lib/puppet/provider/service/bsd.rb +4 -4
  364. data/lib/puppet/provider/service/daemontools.rb +31 -31
  365. data/lib/puppet/provider/service/debian.rb +6 -6
  366. data/lib/puppet/provider/service/freebsd.rb +36 -36
  367. data/lib/puppet/provider/service/gentoo.rb +6 -6
  368. data/lib/puppet/provider/service/init.rb +19 -19
  369. data/lib/puppet/provider/service/launchd.rb +22 -22
  370. data/lib/puppet/provider/service/openbsd.rb +10 -10
  371. data/lib/puppet/provider/service/openrc.rb +1 -1
  372. data/lib/puppet/provider/service/openwrt.rb +3 -3
  373. data/lib/puppet/provider/service/rcng.rb +3 -3
  374. data/lib/puppet/provider/service/redhat.rb +4 -4
  375. data/lib/puppet/provider/service/runit.rb +6 -6
  376. data/lib/puppet/provider/service/service.rb +5 -7
  377. data/lib/puppet/provider/service/smf.rb +28 -27
  378. data/lib/puppet/provider/service/src.rb +7 -7
  379. data/lib/puppet/provider/service/systemd.rb +31 -37
  380. data/lib/puppet/provider/service/upstart.rb +17 -17
  381. data/lib/puppet/provider/service/windows.rb +7 -7
  382. data/lib/puppet/provider/user/aix.rb +4 -2
  383. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  384. data/lib/puppet/provider/user/hpux.rb +10 -14
  385. data/lib/puppet/provider/user/pw.rb +1 -1
  386. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  387. data/lib/puppet/provider/user/useradd.rb +7 -7
  388. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  389. data/lib/puppet/provider.rb +8 -8
  390. data/lib/puppet/reference/indirection.rb +3 -0
  391. data/lib/puppet/reference/metaparameter.rb +1 -1
  392. data/lib/puppet/reference/providers.rb +3 -3
  393. data/lib/puppet/reference/type.rb +1 -1
  394. data/lib/puppet/relationship.rb +4 -5
  395. data/lib/puppet/reports/http.rb +1 -1
  396. data/lib/puppet/reports/log.rb +2 -2
  397. data/lib/puppet/reports/store.rb +4 -4
  398. data/lib/puppet/reports.rb +2 -2
  399. data/lib/puppet/resource/catalog.rb +16 -16
  400. data/lib/puppet/resource/status.rb +3 -3
  401. data/lib/puppet/resource/type.rb +8 -8
  402. data/lib/puppet/resource/type_collection.rb +1 -1
  403. data/lib/puppet/resource.rb +41 -41
  404. data/lib/puppet/scheduler/scheduler.rb +1 -1
  405. data/lib/puppet/scheduler/splay_job.rb +9 -0
  406. data/lib/puppet/settings/alias_setting.rb +3 -5
  407. data/lib/puppet/settings/base_setting.rb +11 -11
  408. data/lib/puppet/settings/boolean_setting.rb +2 -2
  409. data/lib/puppet/settings/config_file.rb +5 -4
  410. data/lib/puppet/settings/duration_setting.rb +2 -2
  411. data/lib/puppet/settings/environment_conf.rb +3 -3
  412. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  413. data/lib/puppet/settings/file_setting.rb +11 -11
  414. data/lib/puppet/settings/ini_file.rb +3 -3
  415. data/lib/puppet/settings/port_setting.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +2 -2
  417. data/lib/puppet/settings/ttl_setting.rb +2 -2
  418. data/lib/puppet/settings/value_translator.rb +8 -8
  419. data/lib/puppet/settings.rb +65 -70
  420. data/lib/puppet/ssl/base.rb +2 -4
  421. data/lib/puppet/ssl/certificate_request.rb +18 -22
  422. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  423. data/lib/puppet/ssl/oids.rb +2 -2
  424. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  425. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  426. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  427. data/lib/puppet/syntax_checkers/json.rb +3 -3
  428. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  429. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  430. data/lib/puppet/transaction/event.rb +2 -2
  431. data/lib/puppet/transaction/event_manager.rb +5 -5
  432. data/lib/puppet/transaction/persistence.rb +12 -14
  433. data/lib/puppet/transaction/report.rb +4 -4
  434. data/lib/puppet/transaction/resource_harness.rb +2 -2
  435. data/lib/puppet/transaction.rb +14 -18
  436. data/lib/puppet/type/component.rb +3 -3
  437. data/lib/puppet/type/exec.rb +51 -45
  438. data/lib/puppet/type/file/checksum_value.rb +1 -1
  439. data/lib/puppet/type/file/content.rb +6 -6
  440. data/lib/puppet/type/file/ctime.rb +2 -2
  441. data/lib/puppet/type/file/data_sync.rb +3 -3
  442. data/lib/puppet/type/file/ensure.rb +16 -15
  443. data/lib/puppet/type/file/mode.rb +9 -9
  444. data/lib/puppet/type/file/mtime.rb +2 -2
  445. data/lib/puppet/type/file/selcontext.rb +14 -14
  446. data/lib/puppet/type/file/source.rb +19 -21
  447. data/lib/puppet/type/file/target.rb +11 -11
  448. data/lib/puppet/type/file.rb +21 -21
  449. data/lib/puppet/type/filebucket.rb +3 -3
  450. data/lib/puppet/type/group.rb +3 -3
  451. data/lib/puppet/type/notify.rb +2 -2
  452. data/lib/puppet/type/package.rb +4 -4
  453. data/lib/puppet/type/resources.rb +6 -6
  454. data/lib/puppet/type/schedule.rb +9 -9
  455. data/lib/puppet/type/service.rb +6 -8
  456. data/lib/puppet/type/tidy.rb +22 -24
  457. data/lib/puppet/type/user.rb +13 -13
  458. data/lib/puppet/type.rb +76 -88
  459. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  460. data/lib/puppet/util/autoload.rb +2 -2
  461. data/lib/puppet/util/backups.rb +9 -9
  462. data/lib/puppet/util/character_encoding.rb +7 -6
  463. data/lib/puppet/util/checksums.rb +2 -2
  464. data/lib/puppet/util/classgen.rb +8 -8
  465. data/lib/puppet/util/colors.rb +1 -1
  466. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  467. data/lib/puppet/util/command_line/trollop.rb +60 -46
  468. data/lib/puppet/util/command_line.rb +2 -2
  469. data/lib/puppet/util/constant_inflector.rb +2 -2
  470. data/lib/puppet/util/diff.rb +19 -21
  471. data/lib/puppet/util/docs.rb +2 -2
  472. data/lib/puppet/util/errors.rb +9 -9
  473. data/lib/puppet/util/execution.rb +32 -9
  474. data/lib/puppet/util/feature.rb +1 -1
  475. data/lib/puppet/util/fileparsing.rb +12 -16
  476. data/lib/puppet/util/filetype.rb +36 -40
  477. data/lib/puppet/util/inifile.rb +6 -12
  478. data/lib/puppet/util/ldap/connection.rb +1 -1
  479. data/lib/puppet/util/ldap/manager.rb +10 -12
  480. data/lib/puppet/util/lockfile.rb +6 -8
  481. data/lib/puppet/util/log/destination.rb +2 -2
  482. data/lib/puppet/util/log/destinations.rb +4 -4
  483. data/lib/puppet/util/log.rb +12 -9
  484. data/lib/puppet/util/logging.rb +11 -11
  485. data/lib/puppet/util/metric.rb +3 -3
  486. data/lib/puppet/util/monkey_patches.rb +5 -7
  487. data/lib/puppet/util/network_device/config.rb +3 -3
  488. data/lib/puppet/util/package/version/debian.rb +27 -28
  489. data/lib/puppet/util/package/version/pip.rb +5 -5
  490. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  491. data/lib/puppet/util/package/version/rpm.rb +1 -1
  492. data/lib/puppet/util/package.rb +2 -2
  493. data/lib/puppet/util/pidlock.rb +2 -2
  494. data/lib/puppet/util/platform.rb +1 -1
  495. data/lib/puppet/util/plist.rb +8 -10
  496. data/lib/puppet/util/posix.rb +17 -17
  497. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  498. data/lib/puppet/util/provider_features.rb +3 -3
  499. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  500. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  501. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  502. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  503. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  504. data/lib/puppet/util/rdoc/parser.rb +1 -1
  505. data/lib/puppet/util/reference.rb +13 -9
  506. data/lib/puppet/util/retry_action.rb +1 -1
  507. data/lib/puppet/util/rpm_compare.rb +18 -19
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +7 -7
  510. data/lib/puppet/util/storage.rb +10 -12
  511. data/lib/puppet/util/suidmanager.rb +18 -19
  512. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  513. data/lib/puppet/util/tag_set.rb +2 -2
  514. data/lib/puppet/util/tagging.rb +8 -10
  515. data/lib/puppet/util/terminal.rb +4 -4
  516. data/lib/puppet/util/user_attr.rb +7 -7
  517. data/lib/puppet/util/watcher.rb +3 -5
  518. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  519. data/lib/puppet/util/windows/adsi.rb +42 -42
  520. data/lib/puppet/util/windows/com.rb +2 -2
  521. data/lib/puppet/util/windows/daemon.rb +64 -68
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +18 -25
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  525. data/lib/puppet/util/windows/principal.rb +8 -8
  526. data/lib/puppet/util/windows/process.rb +16 -28
  527. data/lib/puppet/util/windows/registry.rb +16 -15
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +31 -31
  530. data/lib/puppet/util/windows/service.rb +11 -11
  531. data/lib/puppet/util/windows/sid.rb +8 -8
  532. data/lib/puppet/util/windows/user.rb +18 -20
  533. data/lib/puppet/util/yaml.rb +1 -1
  534. data/lib/puppet/util.rb +55 -46
  535. data/lib/puppet/version.rb +2 -2
  536. data/lib/puppet/x509/pem_store.rb +1 -1
  537. data/lib/puppet.rb +3 -3
  538. data/locales/puppet.pot +604 -600
  539. data/man/man5/puppet.conf.5 +10 -2
  540. data/man/man8/puppet-agent.8 +1 -1
  541. data/man/man8/puppet-apply.8 +1 -1
  542. data/man/man8/puppet-catalog.8 +1 -1
  543. data/man/man8/puppet-config.8 +1 -1
  544. data/man/man8/puppet-describe.8 +1 -1
  545. data/man/man8/puppet-device.8 +1 -1
  546. data/man/man8/puppet-doc.8 +1 -1
  547. data/man/man8/puppet-epp.8 +1 -1
  548. data/man/man8/puppet-facts.8 +1 -1
  549. data/man/man8/puppet-filebucket.8 +1 -1
  550. data/man/man8/puppet-generate.8 +1 -1
  551. data/man/man8/puppet-help.8 +1 -1
  552. data/man/man8/puppet-lookup.8 +1 -1
  553. data/man/man8/puppet-module.8 +1 -1
  554. data/man/man8/puppet-node.8 +1 -1
  555. data/man/man8/puppet-parser.8 +1 -1
  556. data/man/man8/puppet-plugin.8 +1 -1
  557. data/man/man8/puppet-report.8 +1 -1
  558. data/man/man8/puppet-resource.8 +5 -1
  559. data/man/man8/puppet-script.8 +1 -1
  560. data/man/man8/puppet-ssl.8 +1 -1
  561. data/man/man8/puppet.8 +2 -2
  562. metadata +23 -27
  563. data/examples/hiera/etc/hiera.yaml +0 -15
  564. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  565. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  566. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  567. data/examples/hiera/etc/puppet.conf +0 -3
  568. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  569. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  570. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  571. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  572. data/tasks/benchmark.rake +0 -180
  573. data/tasks/cfpropertylist.rake +0 -15
  574. data/tasks/ci.rake +0 -24
  575. data/tasks/generate_ast_model.rake +0 -90
  576. data/tasks/generate_cert_fixtures.rake +0 -199
  577. data/tasks/manpages.rake +0 -67
  578. data/tasks/memwalk.rake +0 -195
  579. data/tasks/parallel.rake +0 -410
  580. data/tasks/parser.rake +0 -22
  581. data/tasks/yard.rake +0 -59
@@ -200,7 +200,7 @@ module LexerSupport
200
200
  lex_error_without_pos(
201
201
  Puppet::Pops::Issues::ILLEGAL_BOM,
202
202
  { :format_name => name,
203
- :bytes => "[#{bom.values[0, size].map { |b| "%X" % b }.join(" ")}]" }
203
+ :bytes => "[#{bom.values[0, size].map { |b| '%X' % b }.join(' ')}]" }
204
204
  )
205
205
  end
206
206
 
@@ -141,7 +141,7 @@ class Locator
141
141
  satisfied = false
142
142
  v = nil
143
143
 
144
- while low < high do
144
+ while low < high
145
145
  mid = low + ((high - low) / 2)
146
146
  v = (ary[mid] > value)
147
147
  if v == true
@@ -161,9 +161,9 @@ class Locator
161
161
  end
162
162
 
163
163
  return nil if low == ary.length
164
- return nil if !satisfied
164
+ return nil unless satisfied
165
165
 
166
- return low
166
+ low
167
167
  end
168
168
 
169
169
  def hash
@@ -192,7 +192,7 @@ class Locator
192
192
  # If not found it is after last
193
193
  # clear cache
194
194
  @prev_offset = @prev_line = nil
195
- return line_index.size
195
+ line_index.size
196
196
  end
197
197
  end
198
198
 
@@ -77,7 +77,7 @@ class Parser
77
77
  def parse_file(file)
78
78
  unless Puppet::FileSystem.exist?(file)
79
79
  unless file =~ /\.pp$/
80
- file = file + ".pp"
80
+ file += ".pp"
81
81
  end
82
82
  end
83
83
  @lexer.file = file
@@ -193,16 +193,15 @@ class Parser
193
193
  # where the "10, notice" forms an argument list. The parser builds an Array with the expressions and includes
194
194
  # the comma tokens to enable the error to be reported against the first comma.
195
195
  #
196
- begin
197
- Factory.transform_calls(expressions)
198
- rescue Factory::ArgsToNonCallError => e
199
- # e.args[1] is the first comma token in the list
200
- # e.name_expr is the function name expression
201
- if e.name_expr.is_a?(Factory) && e.name_expr.model_class <= Model::QualifiedName
202
- error(e.args[1], _("attempt to pass argument list to the function '%{name}' which cannot be called without parentheses") % { name: e.name_expr['value'] })
203
- else
204
- error(e.args[1], _("illegal comma separated argument list"))
205
- end
196
+
197
+ Factory.transform_calls(expressions)
198
+ rescue Factory::ArgsToNonCallError => e
199
+ # e.args[1] is the first comma token in the list
200
+ # e.name_expr is the function name expression
201
+ if e.name_expr.is_a?(Factory) && e.name_expr.model_class <= Model::QualifiedName
202
+ error(e.args[1], _("attempt to pass argument list to the function '%{name}' which cannot be called without parentheses") % { name: e.name_expr['value'] })
203
+ else
204
+ error(e.args[1], _("illegal comma separated argument list"))
206
205
  end
207
206
  end
208
207
 
@@ -229,8 +228,7 @@ class Parser
229
228
  _, token = @lexer.emit_completed([:NOOP, '', 0], locator.string.bytesize)
230
229
  loc(no_op, token)
231
230
  # Program with a Noop
232
- program = Factory.PROGRAM(no_op, [], locator)
233
- program
231
+ Factory.PROGRAM(no_op, [], locator)
234
232
  end
235
233
 
236
234
  # Performs the parsing and returns the resulting model.
@@ -243,7 +241,7 @@ class Parser
243
241
  @yydebug = false
244
242
  main = yyparse(@lexer, :scan)
245
243
  end
246
- return main
244
+ main
247
245
  ensure
248
246
  @lexer.clear
249
247
  @namestack = []
@@ -196,7 +196,7 @@ class PNParser
196
196
  end
197
197
 
198
198
  def consume_identifier(s)
199
- while @char_types[peek_cp] >= TYPE_IDENTIFIER do
199
+ while @char_types[peek_cp] >= TYPE_IDENTIFIER
200
200
  @pos += 1
201
201
  end
202
202
  id = @text[s...@pos]
@@ -287,7 +287,7 @@ class PNParser
287
287
  c = peek_cp
288
288
  end
289
289
 
290
- while @char_types[c] == TYPE_DIGIT do
290
+ while @char_types[c] == TYPE_DIGIT
291
291
  @pos += 1
292
292
  c = peek_cp
293
293
  count += 1
@@ -296,7 +296,7 @@ class PNParser
296
296
  end
297
297
 
298
298
  def skip_white
299
- while @char_types[peek_cp] == TYPE_WS do
299
+ while @char_types[peek_cp] == TYPE_WS
300
300
  @pos += 1
301
301
  end
302
302
  end
@@ -13,15 +13,15 @@ module Parser
13
13
  module SlurpSupport
14
14
  include LexerSupport
15
15
 
16
- SLURP_SQ_PATTERN = /(?:[^\\]|^)(?:[\\]{2})*[']/
17
- SLURP_DQ_PATTERN = /(?:[^\\]|^)(?:[\\]{2})*(["]|[$]\{?)/
18
- SLURP_UQ_PATTERN = /(?:[^\\]|^)(?:[\\]{2})*([$]\{?|\z)/
16
+ SLURP_SQ_PATTERN = /(?:[^\\]|^)(?:\\{2})*'/
17
+ SLURP_DQ_PATTERN = /(?:[^\\]|^)(?:\\{2})*("|[$]\{?)/
18
+ SLURP_UQ_PATTERN = /(?:[^\\]|^)(?:\\{2})*([$]\{?|\z)/
19
19
  # unquoted, no escapes
20
20
  SLURP_UQNE_PATTERN = /(\$\{?|\z)/m
21
21
  SLURP_ALL_PATTERN = /.*(\z)/m
22
- SQ_ESCAPES = %w{\\ '}
23
- DQ_ESCAPES = %w{\\ $ ' " r n t s u} + ["\r\n", "\n"]
24
- UQ_ESCAPES = %w{\\ $ r n t s u} + ["\r\n", "\n"]
22
+ SQ_ESCAPES = %w[\\ ']
23
+ DQ_ESCAPES = %w[\\ $ ' " r n t s u] + ["\r\n", "\n"]
24
+ UQ_ESCAPES = %w[\\ $ r n t s u] + ["\r\n", "\n"]
25
25
 
26
26
  def slurp_sqstring
27
27
  # skip the leading '
@@ -76,14 +76,14 @@ module SlurpSupport
76
76
  # If later a \u is found it is warned not to be a unicode escape
77
77
  if escapes.include?('u')
78
78
  # gsub must be repeated to cater for adjacent escapes
79
- while (str.gsub!(/((?:[^\\]|^)(?:[\\]{2})*)\\u(?:([\da-fA-F]{4})|\{([\da-fA-F]{1,6})\})/m) { $1 + [($2 || $3).hex].pack("U") })
79
+ while str.gsub!(/((?:[^\\]|^)(?:\\{2})*)\\u(?:([\da-fA-F]{4})|\{([\da-fA-F]{1,6})\})/m) { ::Regexp.last_match(1) + [(::Regexp.last_match(2) || ::Regexp.last_match(3)).hex].pack("U") }
80
80
  # empty block. Everything happens in the gsub block
81
81
  end
82
82
  end
83
83
 
84
84
  begin
85
85
  str.gsub!(/\\([^\r\n]|(?:\r?\n))/m) {
86
- ch = $1
86
+ ch = ::Regexp.last_match(1)
87
87
  if escapes.include? ch
88
88
  case ch
89
89
  when 'r'; "\r"
@@ -13,48 +13,48 @@ module Puppet::Pops::Patterns
13
13
  # Thus, a hex number has group 3 value, an octal value has group 4 (if it starts with 0), and no group 3
14
14
  # and a floating point value has group 4 and group 5.
15
15
  #
16
- NUMERIC = %r{\A[[:blank:]]*([-+]?)[[:blank:]]*((0[xX][0-9A-Fa-f]+)|(0?\d+)((?:\.\d+)?(?:[eE]-?\d+)?))[[:blank:]]*\z}
16
+ NUMERIC = /\A[[:blank:]]*([-+]?)[[:blank:]]*((0[xX][0-9A-Fa-f]+)|(0?\d+)((?:\.\d+)?(?:[eE]-?\d+)?))[[:blank:]]*\z/
17
17
 
18
18
  # Special expression that tests if there is whitespace between sign and number. The expression is used
19
19
  # to strip such whitespace when normal Float or Integer conversion fails.
20
- WS_BETWEEN_SIGN_AND_NUMBER = %r{\A([+-])[[:blank:]]+(.*)\z}
20
+ WS_BETWEEN_SIGN_AND_NUMBER = /\A([+-])[[:blank:]]+(.*)\z/
21
21
 
22
22
  # ILLEGAL_P3_1_HOSTNAME matches if a hostname contains illegal characters.
23
23
  # This check does not prevent pathological names like 'a....b', '.....', "---". etc.
24
- ILLEGAL_HOSTNAME_CHARS = %r{[^-\w.]}
24
+ ILLEGAL_HOSTNAME_CHARS = /[^-\w.]/
25
25
 
26
26
  # NAME matches a name the same way as the lexer.
27
- NAME = %r{\A((::)?[a-z]\w*)(::[a-z]\w*)*\z}
27
+ NAME = /\A((::)?[a-z]\w*)(::[a-z]\w*)*\z/
28
28
 
29
29
  # CLASSREF_EXT matches a class reference the same way as the lexer - i.e. the external source form
30
30
  # where each part must start with a capital letter A-Z.
31
31
  #
32
- CLASSREF_EXT = %r{\A((::){0,1}[A-Z][\w]*)+\z}
32
+ CLASSREF_EXT = /\A((::){0,1}[A-Z]\w*)+\z/
33
33
 
34
34
  # Same as CLASSREF_EXT but cannot start with '::'
35
35
  #
36
- CLASSREF_EXT_DECL = %r{\A[A-Z][\w]*(?:::[A-Z][\w]*)*\z}
36
+ CLASSREF_EXT_DECL = /\A[A-Z]\w*(?:::[A-Z]\w*)*\z/
37
37
 
38
38
  # CLASSREF matches a class reference the way it is represented internally in the
39
39
  # model (i.e. in lower case).
40
40
  #
41
- CLASSREF = %r{\A((::){0,1}[a-z][\w]*)+\z}
41
+ CLASSREF = /\A((::){0,1}[a-z]\w*)+\z/
42
42
 
43
43
  # Same as CLASSREF but cannot start with '::'
44
44
  #
45
- CLASSREF_DECL = %r{\A[a-z][\w]*(?:::[a-z][\w]*)*\z}
45
+ CLASSREF_DECL = /\A[a-z]\w*(?:::[a-z]\w*)*\z/
46
46
 
47
47
  # DOLLAR_VAR matches a variable name including the initial $ character
48
- DOLLAR_VAR = %r{\$(::)?(\w+::)*\w+}
48
+ DOLLAR_VAR = /\$(::)?(\w+::)*\w+/
49
49
 
50
50
  # VAR_NAME matches the name part of a variable (The $ character is not included)
51
51
  # Note, that only the final segment may start with an underscore.
52
52
  # Note, regexp sensitive to backtracking
53
- VAR_NAME = %r{\A(?:::)?(?:[a-z]\w*::)*[a-z_]\w*\z}
53
+ VAR_NAME = /\A(?:::)?(?:[a-z]\w*::)*[a-z_]\w*\z/
54
54
 
55
55
  # PARAM_NAME matches the name part of a parameter (The $ character is not included)
56
- PARAM_NAME = %r{\A[a-z_]\w*\z}
56
+ PARAM_NAME = /\A[a-z_]\w*\z/
57
57
 
58
58
  # A Numeric var name must be the decimal number 0, or a decimal number not starting with 0
59
- NUMERIC_VAR_NAME = %r{\A(?:0|(?:[1-9][0-9]*))\z}
59
+ NUMERIC_VAR_NAME = /\A(?:0|(?:[1-9][0-9]*))\z/
60
60
  end
@@ -10,7 +10,7 @@ module Pcore
10
10
  TYPE_URI = Types::TypeFactory.pattern(TYPE_URI_RX)
11
11
  TYPE_URI_ALIAS = Types::PTypeAliasType.new('Pcore::URI', nil, TYPE_URI)
12
12
  TYPE_SIMPLE_TYPE_NAME = Types::TypeFactory.pattern(/\A[A-Z]\w*\z/)
13
- TYPE_QUALIFIED_REFERENCE = Types::TypeFactory.pattern(/\A[A-Z][\w]*(?:::[A-Z][\w]*)*\z/)
13
+ TYPE_QUALIFIED_REFERENCE = Types::TypeFactory.pattern(/\A[A-Z]\w*(?:::[A-Z]\w*)*\z/)
14
14
  TYPE_MEMBER_NAME = Types::PPatternType.new([Types::PRegexpType.new(Patterns::PARAM_NAME)])
15
15
 
16
16
  KEY_PCORE_URI = 'pcore_uri'
@@ -116,7 +116,7 @@ module PN
116
116
  end
117
117
 
118
118
  def to_data
119
- { '^' => [@name] + @elements.map { |e| e.to_data } }
119
+ { '^' => [@name] + @elements.map(&:to_data) }
120
120
  end
121
121
  end
122
122
 
@@ -166,7 +166,7 @@ module PN
166
166
  end
167
167
 
168
168
  def to_data
169
- @elements.map { |e| e.to_data }
169
+ @elements.map(&:to_data)
170
170
  end
171
171
  end
172
172
 
@@ -32,7 +32,7 @@ module Puppet
32
32
  @stack = Puppet::ThreadLocal.new { Array.new }
33
33
 
34
34
  def self.stack(file, line, obj, message, args, &block)
35
- file = 'unknown' if (file.nil? || file == '')
35
+ file = 'unknown' if file.nil? || file == ''
36
36
  line = 0 if line.nil?
37
37
 
38
38
  result = nil
@@ -75,7 +75,7 @@ class ResourceTypeImpl
75
75
  return nil unless other.is_a?(Puppet::CompilableResourceType)
76
76
 
77
77
  # against other type instances.
78
- self.ref <=> other.ref
78
+ ref <=> other.ref
79
79
  end
80
80
 
81
81
  METAPARAMS = [
@@ -143,7 +143,7 @@ class AbstractReader
143
143
  read_payload(data) do |ep|
144
144
  sec = ep.read
145
145
  nsec = ep.read
146
- Time::Timestamp.new(sec * 1000000000 + nsec)
146
+ Time::Timestamp.new(sec * 1_000_000_000 + nsec)
147
147
  end
148
148
  end
149
149
 
@@ -151,7 +151,7 @@ class AbstractReader
151
151
  read_payload(data) do |ep|
152
152
  sec = ep.read
153
153
  nsec = ep.read
154
- Time::Timespan.new(sec * 1000000000 + nsec)
154
+ Time::Timespan.new(sec * 1_000_000_000 + nsec)
155
155
  end
156
156
  end
157
157
 
@@ -178,11 +178,11 @@ class AbstractWriter
178
178
  end
179
179
 
180
180
  register_type(Extension::TIME, Time::Timestamp) do |o|
181
- build_payload { |ep| nsecs = o.nsecs; ep.write(nsecs / 1000000000); ep.write(nsecs % 1000000000) }
181
+ build_payload { |ep| nsecs = o.nsecs; ep.write(nsecs / 1_000_000_000); ep.write(nsecs % 1_000_000_000) }
182
182
  end
183
183
 
184
184
  register_type(Extension::TIMESPAN, Time::Timespan) do |o|
185
- build_payload { |ep| nsecs = o.nsecs; ep.write(nsecs / 1000000000); ep.write(nsecs % 1000000000) }
185
+ build_payload { |ep| nsecs = o.nsecs; ep.write(nsecs / 1_000_000_000); ep.write(nsecs % 1_000_000_000) }
186
186
  end
187
187
 
188
188
  register_type(Extension::VERSION, SemanticPuppet::Version) do |o|
@@ -213,7 +213,7 @@ class AbstractWriter
213
213
  end
214
214
 
215
215
  def to_s
216
- "#{self.class.name}"
216
+ self.class.name.to_s
217
217
  end
218
218
 
219
219
  def inspect
@@ -107,7 +107,7 @@ class Timestamp < TimeData
107
107
  fraction = parsed[:sec_fraction]
108
108
 
109
109
  # Convert msec rational found in _strptime hash to usec
110
- fraction = fraction * 1000000 unless fraction.nil?
110
+ fraction *= 1_000_000 unless fraction.nil?
111
111
 
112
112
  # Create the Time instance and adjust for timezone
113
113
  parsed_time = ::Time.utc(parsed[:year], parsed[:mon], parsed[:mday], parsed[:hour], parsed[:min], parsed[:sec], fraction)
@@ -37,7 +37,7 @@ class ClassLoader
37
37
  def self.provide_from_type(type)
38
38
  case type
39
39
  when PRuntimeType
40
- raise ArgumentError.new("Only Runtime type 'ruby' is supported, got #{type.runtime}") unless type.runtime == :ruby
40
+ raise ArgumentError, "Only Runtime type 'ruby' is supported, got #{type.runtime}" unless type.runtime == :ruby
41
41
 
42
42
  provide_from_string(type.runtime_type_name)
43
43
 
@@ -105,11 +105,9 @@ class ClassLoader
105
105
 
106
106
  def self.find_class(name_path)
107
107
  name_path.reduce(Object) do |ns, name|
108
- begin
109
- ns.const_get(name, false) # don't search ancestors
110
- rescue NameError
111
- return nil
112
- end
108
+ ns.const_get(name, false) # don't search ancestors
109
+ rescue NameError
110
+ return nil
113
111
  end
114
112
  end
115
113
  private_class_method :find_class
@@ -32,7 +32,7 @@ module Puppet::Pops::Types
32
32
  # @raise [ArgumentError] In case an `Iterable` cannot be produced
33
33
  # @api public
34
34
  def self.asserted_iterable(my_caller, obj, infer_elements = false)
35
- iter = self.on(obj, nil, infer_elements)
35
+ iter = on(obj, nil, infer_elements)
36
36
  raise ArgumentError, "#{my_caller.class}(): wrong argument type (#{obj.class}; is not Iterable." if iter.nil?
37
37
 
38
38
  iter
@@ -122,7 +122,7 @@ class PBinaryType < PAnyType
122
122
  end
123
123
 
124
124
  def ==(o)
125
- self.eql?(o)
125
+ eql?(o)
126
126
  end
127
127
 
128
128
  def length
@@ -152,7 +152,7 @@ class PInitType < PTypeWithContainedType
152
152
  # The Optional is the same as Variant[T,Undef].
153
153
  # The NotUndef is not meaningful to create instances of
154
154
  if @type.instance_of?(PInitType) || @type.instance_of?(POptionalType) || @type.instance_of?(PNotUndefType)
155
- raise ArgumentError.new
155
+ raise ArgumentError
156
156
  end
157
157
 
158
158
  new_func = @type.new_function
@@ -170,7 +170,7 @@ class PObjectType < PMetaType
170
170
  # @raises [Puppet::ParseError] if the assertion fails
171
171
  # @api private
172
172
  def assert_can_be_overridden(member)
173
- unless self.instance_of?(member.class)
173
+ unless instance_of?(member.class)
174
174
  raise Puppet::ParseError, _("%{member} attempts to override %{label}") % { member: member.label, label: label }
175
175
  end
176
176
  if @final && !(constant? && member.constant?)
@@ -261,7 +261,7 @@ class PObjectType < PMetaType
261
261
  # @api private
262
262
  def create_dispatch(instance)
263
263
  # TODO: Assumes Ruby implementation for now
264
- if (callable_type.is_a?(PVariantType))
264
+ if callable_type.is_a?(PVariantType)
265
265
  callable_type.types.map do |ct|
266
266
  Functions::Dispatch.new(ct, RubyGenerator.protect_reserved_name(name), [], false, ct.block_type.nil? ? nil : 'block')
267
267
  end
@@ -656,7 +656,7 @@ class PObjectType < PMetaType
656
656
  index = param_names.index(ip)
657
657
  if index.nil?
658
658
  raise Serialization::SerializationError,
659
- "Initializer for class #{impl_class.name} parameter '#{ip}' does not match any of the the attributes of type #{name}"
659
+ "Initializer for class #{impl_class.name} parameter '#{ip}' does not match any of the attributes of type #{name}"
660
660
  end
661
661
  new_param_types << param_types[index]
662
662
  end
@@ -901,7 +901,7 @@ class PObjectType < PMetaType
901
901
  tc = TypeCalculator.singleton
902
902
  constants, others = @attributes.partition do |_, a|
903
903
  a.kind == ATTRIBUTE_KIND_CONSTANT && a.type == tc.infer(a.value).generalize
904
- end.map { |ha| ha.to_h }
904
+ end.map(&:to_h)
905
905
 
906
906
  result[KEY_ATTRIBUTES] = compressed_members_hash(others) unless others.empty?
907
907
  unless constants.empty?
@@ -1111,7 +1111,7 @@ class PObjectType < PMetaType
1111
1111
  # @return [PObjectType] the topmost parent who's #equality_attributes include the given _attr_
1112
1112
  def find_equality_definer_of(attr)
1113
1113
  type = self
1114
- while !type.nil? do
1114
+ until type.nil?
1115
1115
  p = type.resolved_parent
1116
1116
  return type unless p.is_a?(PObjectType)
1117
1117
  return type unless p.equality_attributes.include?(attr.name)
@@ -209,12 +209,10 @@ class PObjectTypeExtension < PAnyType
209
209
  def test_instance?(o, guard)
210
210
  eval = Parser::EvaluatingParser.singleton.evaluator
211
211
  @parameters.keys.all? do |pn|
212
- begin
213
- m = o.public_method(pn)
214
- m.arity == 0 ? eval.match?(m.call, @parameters[pn]) : false
215
- rescue NameError
216
- false
217
- end
212
+ m = o.public_method(pn)
213
+ m.arity == 0 ? eval.match?(m.call, @parameters[pn]) : false
214
+ rescue NameError
215
+ false
218
216
  end
219
217
  end
220
218
 
@@ -158,7 +158,7 @@ class PSemVerRangeType < PAnyType
158
158
  end
159
159
 
160
160
  def from_hash(hash)
161
- from_versions(hash['min'], hash.fetch('max') { :default }, hash.fetch('exclude_max') { false })
161
+ from_versions(hash['min'], hash.fetch('max', :default), hash.fetch('exclude_max', false))
162
162
  end
163
163
  end
164
164
  end
@@ -72,7 +72,7 @@ class PSensitiveType < PTypeWithContainedType
72
72
  private
73
73
 
74
74
  def _assignable?(o, guard)
75
- self.instance_of?(o.class) && @type.assignable?(o.type, guard)
75
+ instance_of?(o.class) && @type.assignable?(o.type, guard)
76
76
  end
77
77
 
78
78
  DEFAULT = PSensitiveType.new
@@ -17,7 +17,7 @@ module Types
17
17
  # @return [Boolean] `true` if this range intersects with the other range
18
18
  # @api public
19
19
  def intersect?(o)
20
- self.instance_of?(o.class) && !(@to < o.numeric_from || o.numeric_to < @from)
20
+ instance_of?(o.class) && !(@to < o.numeric_from || o.numeric_to < @from)
21
21
  end
22
22
 
23
23
  # Returns the lower bound of the numeric range or `nil` if no lower bound is set.
@@ -94,7 +94,7 @@ module Types
94
94
  end
95
95
 
96
96
  def _assignable?(o, guard)
97
- self.instance_of?(o.class) && numeric_from <= o.numeric_from && numeric_to >= o.numeric_to
97
+ instance_of?(o.class) && numeric_from <= o.numeric_from && numeric_to >= o.numeric_to
98
98
  end
99
99
  end
100
100
 
@@ -183,7 +183,7 @@ class PTypeSetType < PMetaType
183
183
  result[KEY_NAME] = @name
184
184
  result[KEY_VERSION] = @version.to_s unless @version.nil?
185
185
  result[KEY_TYPES] = @types unless @types.empty?
186
- result[KEY_REFERENCES] = @references.transform_values { |ref| ref._pcore_init_hash } unless @references.empty?
186
+ result[KEY_REFERENCES] = @references.transform_values(&:_pcore_init_hash) unless @references.empty?
187
187
  result
188
188
  end
189
189
 
@@ -359,20 +359,20 @@ class PTypeSetType < PMetaType
359
359
  end
360
360
 
361
361
  DEFAULT =
362
- self
363
- .new({
364
- KEY_NAME => 'DefaultTypeSet',
365
- KEY_NAME_AUTHORITY => Pcore::RUNTIME_NAME_AUTHORITY,
366
- Pcore::KEY_PCORE_URI => Pcore::PCORE_URI,
367
- Pcore::KEY_PCORE_VERSION => Pcore::PCORE_VERSION,
368
- KEY_VERSION => SemanticPuppet::Version.new(0, 0, 0)
369
- })
362
+
363
+ new({
364
+ KEY_NAME => 'DefaultTypeSet',
365
+ KEY_NAME_AUTHORITY => Pcore::RUNTIME_NAME_AUTHORITY,
366
+ Pcore::KEY_PCORE_URI => Pcore::PCORE_URI,
367
+ Pcore::KEY_PCORE_VERSION => Pcore::PCORE_VERSION,
368
+ KEY_VERSION => SemanticPuppet::Version.new(0, 0, 0)
369
+ })
370
370
 
371
371
  protected
372
372
 
373
373
  # @api_private
374
374
  def _assignable?(o, guard)
375
- self.instance_of?(o.class) && (self == DEFAULT || eql?(o))
375
+ instance_of?(o.class) && (self == DEFAULT || eql?(o))
376
376
  end
377
377
 
378
378
  private
@@ -34,7 +34,7 @@ class PURIType < PAnyType
34
34
  TypeFactory.optional(PATH) => PStringType::NON_EMPTY,
35
35
  TypeFactory.optional(QUERY) => PStringType::NON_EMPTY,
36
36
  TypeFactory.optional(FRAGMENT) => PStringType::NON_EMPTY,
37
- TypeFactory.optional(OPAQUE) => PStringType::NON_EMPTY,
37
+ TypeFactory.optional(OPAQUE) => PStringType::NON_EMPTY
38
38
  )
39
39
 
40
40
  TYPE_STRING_PARAM =
@@ -46,7 +46,7 @@ class PURIType < PAnyType
46
46
  TypeFactory.type_type(PPatternType::DEFAULT),
47
47
  TypeFactory.type_type(PEnumType::DEFAULT),
48
48
  TypeFactory.type_type(PNotUndefType::DEFAULT),
49
- TypeFactory.type_type(PUndefType::DEFAULT),
49
+ TypeFactory.type_type(PUndefType::DEFAULT)
50
50
  ]))
51
51
 
52
52
  TYPE_INTEGER_PARAM =
@@ -55,7 +55,7 @@ class PURIType < PAnyType
55
55
  .new([
56
56
  PIntegerType.new(0),
57
57
  TypeFactory.type_type(PNotUndefType::DEFAULT),
58
- TypeFactory.type_type(PUndefType::DEFAULT),
58
+ TypeFactory.type_type(PUndefType::DEFAULT)
59
59
  ]))
60
60
 
61
61
  TYPE_URI_PARAM_HASH_TYPE = TypeFactory.struct(
@@ -66,7 +66,7 @@ class PURIType < PAnyType
66
66
  TypeFactory.optional(PATH) => TYPE_STRING_PARAM,
67
67
  TypeFactory.optional(QUERY) => TYPE_STRING_PARAM,
68
68
  TypeFactory.optional(FRAGMENT) => TYPE_STRING_PARAM,
69
- TypeFactory.optional(OPAQUE) => TYPE_STRING_PARAM,
69
+ TypeFactory.optional(OPAQUE) => TYPE_STRING_PARAM
70
70
  )
71
71
 
72
72
  TYPE_URI_PARAM_TYPE = PVariantType.new([PStringType::NON_EMPTY, TYPE_URI_PARAM_HASH_TYPE])
@@ -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?)