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
@@ -58,7 +58,7 @@ module Puppet::ModuleTool
58
58
  merge_dependencies(data) if data['dependencies']
59
59
 
60
60
  @data.merge!(data)
61
- return self
61
+ self
62
62
  end
63
63
 
64
64
  # Validates the name and version_requirement for a dependency, then creates
@@ -102,7 +102,11 @@ module Puppet::ModuleTool
102
102
  data = @data.dup.merge('dependencies' => dependencies)
103
103
 
104
104
  contents = data.keys.map do |k|
105
- value = (Puppet::Util::Json.dump(data[k], :pretty => true) rescue data[k].to_json)
105
+ value = begin
106
+ Puppet::Util::Json.dump(data[k], :pretty => true)
107
+ rescue
108
+ data[k].to_json
109
+ end
106
110
  %Q("#{k}": #{value})
107
111
  end
108
112
 
@@ -121,7 +125,7 @@ module Puppet::ModuleTool
121
125
  # Do basic validation and parsing of the name parameter.
122
126
  def process_name(data)
123
127
  validate_name(data['name'])
124
- author, @module_name = data['name'].split(/[-\/]/, 2)
128
+ author, @module_name = data['name'].split(%r{[-/]}, 2)
125
129
 
126
130
  data['author'] ||= author if @data['author'] == DEFAULTS['author']
127
131
  end
@@ -139,7 +143,7 @@ module Puppet::ModuleTool
139
143
  # GitHub, we can predict sensible defaults for both project_page and
140
144
  # issues_url.
141
145
  def process_source(data)
142
- if data['source'] =~ %r[://]
146
+ if data['source'] =~ %r{://}
143
147
  source_uri = URI.parse(data['source'])
144
148
  else
145
149
  source_uri = URI.parse("http://#{data['source']}")
@@ -149,10 +153,10 @@ module Puppet::ModuleTool
149
153
  source_uri.scheme = 'https'
150
154
  source_uri.path.sub!(/\.git$/, '')
151
155
  data['project_page'] ||= @data['project_page'] || source_uri.to_s
152
- data['issues_url'] ||= @data['issues_url'] || source_uri.to_s.sub(/\/*$/, '') + '/issues'
156
+ data['issues_url'] ||= @data['issues_url'] || source_uri.to_s.sub(%r{/*$}, '') + '/issues'
153
157
  end
154
158
  rescue URI::Error
155
- return
159
+ nil
156
160
  end
157
161
 
158
162
  # Validates and parses the dependencies.
@@ -167,9 +171,9 @@ module Puppet::ModuleTool
167
171
 
168
172
  # Validates that the given module name is both namespaced and well-formed.
169
173
  def validate_name(name)
170
- return if name =~ /\A[a-z0-9]+[-\/][a-z][a-z0-9_]*\Z/i
174
+ return if name =~ %r{\A[a-z0-9]+[-/][a-z][a-z0-9_]*\Z}i
171
175
 
172
- namespace, modname = name.split(/[-\/]/, 2)
176
+ namespace, modname = name.split(%r{[-/]}, 2)
173
177
  modname = :namespace_missing if namespace == ''
174
178
 
175
179
  err = case modname
@@ -13,7 +13,8 @@ module Puppet::ModuleTool::Shared
13
13
  @installed[mod_name] << mod
14
14
  d = @local["#{mod_name}@#{mod.version}"]
15
15
  (mod.dependencies || []).each do |hash|
16
- name, conditions = hash['name'], hash['version_requirement']
16
+ name = hash['name']
17
+ conditions = hash['version_requirement']
17
18
  name = name.tr('/', '-')
18
19
  d[name] = conditions
19
20
  @conditions[name] << {
@@ -37,7 +38,11 @@ module Puppet::ModuleTool::Shared
37
38
  mod_name, releases = pair
38
39
  mod_name = mod_name.tr('/', '-')
39
40
  releases.each do |rel|
40
- semver = SemanticPuppet::Version.parse(rel['version']) rescue SemanticPuppet::Version::MIN
41
+ semver = begin
42
+ SemanticPuppet::Version.parse(rel['version'])
43
+ rescue
44
+ SemanticPuppet::Version::MIN
45
+ end
41
46
  @versions[mod_name] << { :vstring => rel['version'], :semver => semver }
42
47
  @versions[mod_name].sort_by! { |a| a[:semver] }
43
48
  @urls["#{mod_name}@#{rel['version']}"] = rel['file']
@@ -55,14 +60,14 @@ module Puppet::ModuleTool::Shared
55
60
  return :latest
56
61
  end
57
62
 
58
- return :best
63
+ :best
59
64
  end
60
65
 
61
66
  def annotated_version(mod, versions)
62
67
  if versions.empty?
63
- return implicit_version(mod)
68
+ implicit_version(mod)
64
69
  else
65
- return "#{implicit_version(mod)}: #{versions.last}"
70
+ "#{implicit_version(mod)}: #{versions.last}"
66
71
  end
67
72
  end
68
73
 
@@ -78,10 +83,16 @@ module Puppet::ModuleTool::Shared
78
83
  }
79
84
 
80
85
  if forced?
81
- range = Puppet::Module.parse_range(@version) rescue Puppet::Module.parse_range('>= 0.0.0')
86
+ range = begin
87
+ Puppet::Module.parse_range(@version)
88
+ rescue
89
+ Puppet::Module.parse_range('>= 0.0.0')
90
+ end
82
91
  else
83
92
  range = (@conditions[mod]).map do |r|
84
- Puppet::Module.parse_range(r[:dependency]) rescue Puppet::Module.parse_range('>= 0.0.0')
93
+ Puppet::Module.parse_range(r[:dependency])
94
+ rescue
95
+ Puppet::Module.parse_range('>= 0.0.0')
85
96
  end.inject(&:&)
86
97
  end
87
98
 
@@ -89,7 +100,7 @@ module Puppet::ModuleTool::Shared
89
100
  next if range === seen[mod][:semver]
90
101
 
91
102
  req_module = @module_name
92
- req_versions = @versions["#{@module_name}"].map { |v| v[:semver] }
103
+ req_versions = @versions[@module_name.to_s].map { |v| v[:semver] }
93
104
  raise InvalidDependencyCycleError,
94
105
  :module_name => mod,
95
106
  :source => (source + [{ :name => mod, :version => source.last[:dependency] }]),
@@ -110,14 +121,14 @@ module Puppet::ModuleTool::Shared
110
121
  @conditions.each { |_, conds| conds.delete_if { |c| c[:module] == mod } }
111
122
  end
112
123
 
113
- versions = @versions["#{mod}"].select { |h| range === h[:semver] }
124
+ versions = @versions[mod.to_s].select { |h| range === h[:semver] }
114
125
  valid_versions = versions.select { |x| x[:semver].special == '' }
115
126
  valid_versions = versions if valid_versions.empty?
116
127
 
117
128
  version = valid_versions.last
118
129
  unless version
119
130
  req_module = @module_name
120
- req_versions = @versions["#{@module_name}"].map { |v| v[:semver] }
131
+ req_versions = @versions[@module_name.to_s].map { |v| v[:semver] }
121
132
  raise NoVersionsSatisfyError,
122
133
  :requested_name => req_module,
123
134
  :requested_version => @version || annotated_version(req_module, req_versions),
@@ -135,7 +146,11 @@ module Puppet::ModuleTool::Shared
135
146
  :action => action,
136
147
  :previous_version => @installed[mod].empty? ? nil : @installed[mod].first.version,
137
148
  :file => @urls["#{mod}@#{version[:vstring]}"],
138
- :path => action == :install ? @options[:target_dir] : (@installed[mod].empty? ? @options[:target_dir] : @installed[mod].first.modulepath),
149
+ :path => if action == :install
150
+ @options[:target_dir]
151
+ else
152
+ @installed[mod].empty? ? @options[:target_dir] : @installed[mod].first.modulepath
153
+ end,
139
154
  :dependencies => []
140
155
  }
141
156
  end
@@ -143,7 +158,7 @@ module Puppet::ModuleTool::Shared
143
158
  deps = @remote["#{mod[:module]}@#{mod[:version][:vstring]}"].sort_by(&:first)
144
159
  mod[:dependencies] = resolve_constraints(deps, source + [{ :name => mod[:module], :version => mod[:version][:vstring] }], seen, :install)
145
160
  end unless @ignore_dependencies
146
- return dependencies
161
+ dependencies
147
162
  end
148
163
 
149
164
  def download_tarballs(graph, default_path, forge)
@@ -44,9 +44,9 @@ class Puppet::ModuleTool::Tar::Mini
44
44
 
45
45
  private
46
46
 
47
- EXECUTABLE = 0755
48
- NOT_EXECUTABLE = 0644
49
- USER_EXECUTE = 0100
47
+ EXECUTABLE = 0o755
48
+ NOT_EXECUTABLE = 0o644
49
+ USER_EXECUTE = 0o100
50
50
 
51
51
  def set_dir_mode!(stats)
52
52
  if stats.key?(:mode)
@@ -13,7 +13,7 @@ module Puppet
13
13
 
14
14
  # Directory and names that should not be checksummed.
15
15
  ARTIFACTS = ['pkg', /^\./, /^~/, /^#/, 'coverage', 'checksums.json', 'REVISION']
16
- FULL_MODULE_NAME_PATTERN = /\A([^-\/|.]+)[-|\/](.+)\z/
16
+ FULL_MODULE_NAME_PATTERN = %r{\A([^-/|.]+)[-|/](.+)\z}
17
17
  REPOSITORY_URL = Puppet.settings[:module_repository]
18
18
 
19
19
  # Is this a directory that shouldn't be checksummed?
@@ -35,7 +35,7 @@ module Puppet
35
35
  def self.username_and_modname_from(full_module_name)
36
36
  matcher = full_module_name.match(FULL_MODULE_NAME_PATTERN)
37
37
  if matcher
38
- return matcher.captures
38
+ matcher.captures
39
39
  else
40
40
  raise ArgumentError, _("Not a valid full name: %{full_module_name}") % { full_module_name: full_module_name }
41
41
  end
@@ -87,7 +87,7 @@ module Puppet
87
87
  str << branch
88
88
  end
89
89
 
90
- return str
90
+ str
91
91
  end
92
92
 
93
93
  def self.build_tree(mods, dir)
@@ -102,7 +102,7 @@ module Puppet
102
102
  mod[:text] = "#{mod[:name]} (#{colorize(:cyan, version_string)})"
103
103
  mod[:text] += " [#{mod[:path]}]" unless mod[:path].to_s == dir.to_s
104
104
 
105
- deps = (mod[:dependencies] || [])
105
+ deps = mod[:dependencies] || []
106
106
  deps.sort_by! { |a| a[:name] }
107
107
  build_tree(deps, dir)
108
108
  end
@@ -7,7 +7,7 @@ module Puppet::Network # :nodoc:
7
7
  attr_accessor :name, :ip, :authenticated, :handler, :method
8
8
 
9
9
  def authenticated?
10
- self.authenticated
10
+ authenticated
11
11
  end
12
12
 
13
13
  # A common way of talking about the full call. Individual servers
@@ -20,11 +20,13 @@ module Puppet::Network # :nodoc:
20
20
  end
21
21
 
22
22
  def initialize(name, ip, authenticated)
23
- @name, @ip, @authenticated = name, ip, authenticated
23
+ @name = name
24
+ @ip = ip
25
+ @authenticated = authenticated
24
26
  end
25
27
 
26
28
  def to_s
27
- "#{self.name}(#{self.ip})"
29
+ "#{name}(#{ip})"
28
30
  end
29
31
  end
30
32
  end
@@ -14,7 +14,7 @@ class Puppet::Network::Format
14
14
  value = @options.delete(name)
15
15
  value = default if value.nil?
16
16
 
17
- self.send(name.to_s + "=", value)
17
+ send(name.to_s + "=", value)
18
18
  end
19
19
 
20
20
  def initialize(name, options = {}, &block)
@@ -111,6 +111,6 @@ class Puppet::Network::Format
111
111
 
112
112
  method = send(name)
113
113
 
114
- return(type == :class ? klass.respond_to?(method) : klass.method_defined?(method))
114
+ (type == :class ? klass.respond_to?(method) : klass.method_defined?(method))
115
115
  end
116
116
  end
@@ -68,7 +68,7 @@ module Puppet::Network::FormatSupport
68
68
  end
69
69
 
70
70
  def friendly_name
71
- if self.respond_to? :indirection
71
+ if respond_to? :indirection
72
72
  indirection.name
73
73
  else
74
74
  self
@@ -222,7 +222,7 @@ Puppet::Network::FormatHandler.create(:flat,
222
222
  a["#{i}.#{el_k}"] = el_v
223
223
  end
224
224
  else
225
- a["#{i}"] = el
225
+ a[i.to_s] = el
226
226
  end
227
227
  end
228
228
  a
@@ -36,7 +36,7 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
36
36
  indirection, method, key, params = uri2indirection(request.method, request.path, request.params)
37
37
  certificate = request.client_cert
38
38
 
39
- if !indirection.allow_remote_requests?
39
+ unless indirection.allow_remote_requests?
40
40
  # TODO: should we tell the user we found an indirection but it doesn't
41
41
  # allow remote requests, or just pretend there's no handler at all? what
42
42
  # are the security implications for the former?
@@ -62,9 +62,7 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
62
62
  environment = params.delete(:environment)
63
63
 
64
64
  if indirection_name !~ /^\w+$/
65
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
66
- _("The indirection name must be purely alphanumeric, not '%{indirection_name}'") % { indirection_name: indirection_name }
67
- )
65
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("The indirection name must be purely alphanumeric, not '%{indirection_name}'") % { indirection_name: indirection_name }
68
66
  end
69
67
 
70
68
  # this also depluralizes the indirection_name if it is a search
@@ -73,29 +71,23 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
73
71
  # check whether this indirection matches the prefix and version in the
74
72
  # request
75
73
  if url_prefix != IndirectionType.url_prefix_for(indirection_name)
76
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
77
- _("Indirection '%{indirection_name}' does not match url prefix '%{url_prefix}'") % { indirection_name: indirection_name, url_prefix: url_prefix }
78
- )
74
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("Indirection '%{indirection_name}' does not match url prefix '%{url_prefix}'") % { indirection_name: indirection_name, url_prefix: url_prefix }
79
75
  end
80
76
 
81
77
  indirection = Puppet::Indirector::Indirection.instance(indirection_name.to_sym)
82
- if !indirection
78
+ unless indirection
83
79
  raise Puppet::Network::HTTP::Error::HTTPNotFoundError.new(
84
80
  _("Could not find indirection '%{indirection_name}'") % { indirection_name: indirection_name },
85
81
  Puppet::Network::HTTP::Issues::HANDLER_NOT_FOUND
86
82
  )
87
83
  end
88
84
 
89
- if !environment
90
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
91
- _("An environment parameter must be specified")
92
- )
85
+ unless environment
86
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("An environment parameter must be specified")
93
87
  end
94
88
 
95
- if !Puppet::Node::Environment.valid_name?(environment)
96
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
97
- _("The environment must be purely alphanumeric, not '%{environment}'") % { environment: environment }
98
- )
89
+ unless Puppet::Node::Environment.valid_name?(environment)
90
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("The environment must be purely alphanumeric, not '%{environment}'") % { environment: environment }
99
91
  end
100
92
 
101
93
  configured_environment = Puppet.lookup(:environments).get(environment)
@@ -105,17 +97,13 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
105
97
  end
106
98
 
107
99
  if configured_environment.nil? && indirection.terminus.require_environment?
108
- raise Puppet::Network::HTTP::Error::HTTPNotFoundError.new(
109
- _("Could not find environment '%{environment}'") % { environment: environment }
110
- )
100
+ raise Puppet::Network::HTTP::Error::HTTPNotFoundError, _("Could not find environment '%{environment}'") % { environment: environment }
111
101
  end
112
102
 
113
103
  params.delete(:bucket_path)
114
104
 
115
105
  if key == "" or key.nil?
116
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
117
- _("No request key specified in %{uri}") % { uri: uri }
118
- )
106
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("No request key specified in %{uri}") % { uri: uri }
119
107
  end
120
108
 
121
109
  [indirection, method, key, params]
@@ -196,19 +184,17 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
196
184
  def first_response_formatter_for(model, request, key, &block)
197
185
  formats = accepted_response_formatters_for(model, request)
198
186
  formatter = formats.find do |format|
199
- begin
200
- yield format
201
- true
202
- rescue Puppet::Network::FormatHandler::FormatError => err
203
- msg = _("Failed to serialize %{model} for '%{key}': %{detail}") %
204
- { model: model, key: key, detail: err }
205
- if Puppet[:allow_pson_serialization]
206
- Puppet.warning(msg)
207
- else
208
- raise Puppet::Network::FormatHandler::FormatError.new(msg)
209
- end
210
- false
187
+ yield format
188
+ true
189
+ rescue Puppet::Network::FormatHandler::FormatError => err
190
+ msg = _("Failed to serialize %{model} for '%{key}': %{detail}") %
191
+ { model: model, key: key, detail: err }
192
+ if Puppet[:allow_pson_serialization]
193
+ Puppet.warning(msg)
194
+ else
195
+ raise Puppet::Network::FormatHandler::FormatError, msg
211
196
  end
197
+ false
212
198
  end
213
199
 
214
200
  return formatter if formatter
@@ -239,9 +225,7 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
239
225
  begin
240
226
  return model_class.convert_from(formatter.name.to_s, data)
241
227
  rescue => e
242
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
243
- _("The request body is invalid: %{message}") % { message: e.message }
244
- )
228
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("The request body is invalid: %{message}") % { message: e.message }
245
229
  end
246
230
  end
247
231
 
@@ -253,22 +237,18 @@ class Puppet::Network::HTTP::API::IndirectedRoutes
253
237
  end
254
238
 
255
239
  def indirection_method(http_method, indirection)
256
- raise Puppet::Network::HTTP::Error::HTTPMethodNotAllowedError.new(
257
- _("No support for http method %{http_method}") % { http_method: http_method }
258
- ) unless METHOD_MAP[http_method]
240
+ raise Puppet::Network::HTTP::Error::HTTPMethodNotAllowedError, _("No support for http method %{http_method}") % { http_method: http_method } unless METHOD_MAP[http_method]
259
241
 
260
242
  method = METHOD_MAP[http_method][plurality(indirection)]
261
243
  unless method
262
- raise Puppet::Network::HTTP::Error::HTTPBadRequestError.new(
263
- _("No support for plurality %{indirection} for %{http_method} operations") % { indirection: plurality(indirection), http_method: http_method }
264
- )
244
+ raise Puppet::Network::HTTP::Error::HTTPBadRequestError, _("No support for plurality %{indirection} for %{http_method} operations") % { indirection: plurality(indirection), http_method: http_method }
265
245
  end
266
246
 
267
247
  method
268
248
  end
269
249
 
270
250
  def self.pluralize(indirection)
271
- return(indirection == "status" ? "statuses" : indirection + "s")
251
+ (indirection == "status" ? "statuses" : indirection + "s")
272
252
  end
273
253
  private_class_method :pluralize
274
254
 
@@ -28,7 +28,7 @@ module Puppet
28
28
  .get(wrap { Environments.new(Puppet.lookup(:environments)) })
29
29
 
30
30
  def self.routes
31
- Puppet::Network::HTTP::Route.path(%r{v3})
31
+ Puppet::Network::HTTP::Route.path(/v3/)
32
32
  .any
33
33
  .chain(ENVIRONMENTS, INDIRECTED)
34
34
  end
@@ -245,7 +245,7 @@ class Puppet::Network::HTTP::Connection
245
245
  end
246
246
 
247
247
  def to_url(path)
248
- if path =~ /^https?:\/\//
248
+ if path =~ %r{^https?://}
249
249
  # The old Connection class accepts a URL as the request path, and sends
250
250
  # it in "absolute-form" in the request line, e.g. GET https://puppet:8140/.
251
251
  # See https://httpwg.org/specs/rfc7230.html#absolute-form. It just so happens
@@ -13,7 +13,7 @@ module Puppet::Network::HTTP::Handler
13
13
 
14
14
  # These shouldn't be allowed to be set by clients
15
15
  # in the query string, for security reasons.
16
- DISALLOWED_KEYS = ["node", "ip"]
16
+ DISALLOWED_KEYS = %w[node ip]
17
17
 
18
18
  def register(routes)
19
19
  # There's got to be a simpler way to do this, right?
@@ -21,7 +21,7 @@ module Puppet::Network::HTTP::Handler
21
21
  routes.each { |r| dupes[r.path_matcher] = (dupes[r.path_matcher] || 0) + 1 }
22
22
  dupes = dupes.filter_map { |pm, count| pm if count > 1 }
23
23
  if dupes.count > 0
24
- raise ArgumentError, _("Given multiple routes with identical path regexes: %{regexes}") % { regexes: dupes.map { |rgx| rgx.inspect }.join(', ') }
24
+ raise ArgumentError, _("Given multiple routes with identical path regexes: %{regexes}") % { regexes: dupes.map(&:inspect).join(', ') }
25
25
  end
26
26
 
27
27
  @routes = routes
@@ -107,14 +107,10 @@ module Puppet::Network::HTTP::Handler
107
107
 
108
108
  def find_route_or_raise(request)
109
109
  route = @routes.find { |r| r.matches?(request) }
110
- if route
111
- return route
112
- else
113
- raise Puppet::Network::HTTP::Error::HTTPNotFoundError.new(
114
- _("No route for %{request} %{path}") % { request: request.method, path: request.path },
115
- HANDLER_NOT_FOUND
116
- )
117
- end
110
+ route || raise(Puppet::Network::HTTP::Error::HTTPNotFoundError.new(
111
+ _("No route for %{request} %{path}") % { request: request.method, path: request.path },
112
+ HANDLER_NOT_FOUND
113
+ ))
118
114
  end
119
115
 
120
116
  def set_puppet_version_header(response)
@@ -178,7 +174,7 @@ module Puppet::Network::HTTP::Handler
178
174
  end
179
175
 
180
176
  def allowed_parameter?(name)
181
- not (name.nil? || name.empty? || DISALLOWED_KEYS.include?(name))
177
+ !(name.nil? || name.empty? || DISALLOWED_KEYS.include?(name))
182
178
  end
183
179
 
184
180
  def parse_parameter_value(param, value)
@@ -205,7 +201,7 @@ module Puppet::Network::HTTP::Handler
205
201
  end
206
202
 
207
203
  def configure_profiler(request_headers, request_params)
208
- if (request_headers.has_key?(Puppet::Network::HTTP::HEADER_ENABLE_PROFILING.downcase) or Puppet[:profile])
204
+ if request_headers.has_key?(Puppet::Network::HTTP::HEADER_ENABLE_PROFILING.downcase) or Puppet[:profile]
209
205
  Puppet::Util::Profiler.add_profiler(Puppet::Util::Profiler::Aggregate.new(Puppet.method(:info), request_params.object_id))
210
206
  end
211
207
  end
@@ -78,6 +78,6 @@ Puppet::Network::HTTP::Request = Struct.new(:headers, :params, :method, :path, :
78
78
 
79
79
  def valid_network_format?(format)
80
80
  # YAML in network requests is not supported. See http://links.puppet.com/deprecate_yaml_on_network
81
- format != nil && format.name != :yaml && format.name != :b64_zlib_yaml
81
+ !format.nil? && format.name != :yaml && format.name != :b64_zlib_yaml
82
82
  end
83
83
  end
@@ -28,39 +28,39 @@ class Puppet::Network::HTTP::Route
28
28
 
29
29
  def get(*handlers)
30
30
  @method_handlers[:GET] = handlers
31
- return self
31
+ self
32
32
  end
33
33
 
34
34
  def head(*handlers)
35
35
  @method_handlers[:HEAD] = handlers
36
- return self
36
+ self
37
37
  end
38
38
 
39
39
  def options(*handlers)
40
40
  @method_handlers[:OPTIONS] = handlers
41
- return self
41
+ self
42
42
  end
43
43
 
44
44
  def post(*handlers)
45
45
  @method_handlers[:POST] = handlers
46
- return self
46
+ self
47
47
  end
48
48
 
49
49
  def put(*handlers)
50
50
  @method_handlers[:PUT] = handlers
51
- return self
51
+ self
52
52
  end
53
53
 
54
54
  def delete(*handlers)
55
55
  @method_handlers[:DELETE] = handlers
56
- return self
56
+ self
57
57
  end
58
58
 
59
59
  def any(*handlers)
60
60
  @method_handlers.each do |method, _registered_handlers|
61
61
  @method_handlers[method] = handlers
62
62
  end
63
- return self
63
+ self
64
64
  end
65
65
 
66
66
  def chain(*routes)
@@ -69,14 +69,14 @@ class Puppet::Network::HTTP::Route
69
69
  end
70
70
 
71
71
  def matches?(request)
72
- Puppet.debug { "Evaluating match for #{self.inspect}" }
72
+ Puppet.debug { "Evaluating match for #{inspect}" }
73
73
  if match(request.routing_path)
74
74
  return true
75
75
  else
76
76
  Puppet.debug { "Did not match path (#{request.routing_path.inspect})" }
77
77
  end
78
78
 
79
- return false
79
+ false
80
80
  end
81
81
 
82
82
  def process(request, response)