puppet 4.3.0 → 4.4.0

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 (560) hide show
  1. checksums.yaml +7 -0
  2. data/COMMITTERS.md +2 -2
  3. data/CONTRIBUTING.md +6 -6
  4. data/LICENSE +1 -1
  5. data/README.md +8 -9
  6. data/conf/auth.conf +2 -2
  7. data/ext/README.environment +1 -1
  8. data/ext/build_defaults.yaml +1 -1
  9. data/ext/debian/README.source +1 -1
  10. data/ext/debian/control +1 -1
  11. data/ext/debian/copyright +4 -4
  12. data/ext/debian/puppetmaster.README.debian +11 -9
  13. data/ext/emacs/puppet-mode.el +1 -1
  14. data/ext/envpuppet +2 -2
  15. data/ext/ips/puppetagent.xml +1 -1
  16. data/ext/ips/puppetmaster.xml +1 -1
  17. data/ext/project_data.yaml +8 -0
  18. data/ext/puppet-test +3 -3
  19. data/ext/rack/example-passenger-vhost.conf +1 -1
  20. data/ext/redhat/puppet.spec.erb +2 -2
  21. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  22. data/ext/solaris/pkginfo +1 -1
  23. data/ext/solaris/smf/puppet.xml +1 -1
  24. data/ext/suse/puppet.spec +2 -2
  25. data/ext/upload_facts.rb +1 -1
  26. data/ext/windows/puppet_interactive.bat +6 -0
  27. data/ext/windows/puppet_shell.bat +9 -0
  28. data/ext/windows/run_puppet_interactive.bat +9 -0
  29. data/ext/yaml_nodes.rb +1 -1
  30. data/install.rb +30 -20
  31. data/lib/hiera/scope.rb +1 -1
  32. data/lib/puppet/agent.rb +1 -1
  33. data/lib/puppet/application/agent.rb +4 -2
  34. data/lib/puppet/application/apply.rb +7 -4
  35. data/lib/puppet/application/cert.rb +1 -1
  36. data/lib/puppet/application/device.rb +1 -1
  37. data/lib/puppet/application/filebucket.rb +1 -1
  38. data/lib/puppet/application/inspect.rb +1 -1
  39. data/lib/puppet/application/lookup.rb +45 -47
  40. data/lib/puppet/application/master.rb +2 -2
  41. data/lib/puppet/application/resource.rb +1 -1
  42. data/lib/puppet/configurer.rb +100 -22
  43. data/lib/puppet/data_providers/hiera_config.rb +28 -3
  44. data/lib/puppet/data_providers/hiera_interpolate.rb +30 -15
  45. data/lib/puppet/data_providers/hiera_support.rb +1 -1
  46. data/lib/puppet/data_providers/json_data_provider_factory.rb +2 -2
  47. data/lib/puppet/data_providers/lookup_adapter.rb +73 -26
  48. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +2 -2
  49. data/lib/puppet/defaults.rb +69 -22
  50. data/lib/puppet/environments.rb +3 -1
  51. data/lib/puppet/face/config.rb +1 -1
  52. data/lib/puppet/face/epp.rb +1 -1
  53. data/lib/puppet/face/help/man.erb +1 -1
  54. data/lib/puppet/face/module/install.rb +6 -6
  55. data/lib/puppet/face/parser.rb +12 -9
  56. data/lib/puppet/face/status.rb +2 -1
  57. data/lib/puppet/feature/cfpropertylist.rb +3 -0
  58. data/lib/puppet/feature/telnet.rb +9 -0
  59. data/lib/puppet/file_serving/http_metadata.rb +46 -0
  60. data/lib/puppet/file_serving/metadata.rb +18 -2
  61. data/lib/puppet/file_serving/terminus_selector.rb +2 -0
  62. data/lib/puppet/file_system/file_impl.rb +2 -2
  63. data/lib/puppet/file_system/memory_impl.rb +1 -1
  64. data/lib/puppet/file_system/uniquefile.rb +1 -1
  65. data/lib/puppet/file_system.rb +2 -2
  66. data/lib/puppet/forge/repository.rb +1 -31
  67. data/lib/puppet/forge.rb +1 -1
  68. data/lib/puppet/functions/assert_type.rb +9 -9
  69. data/lib/puppet/functions/each.rb +5 -13
  70. data/lib/puppet/functions/filter.rb +5 -14
  71. data/lib/puppet/functions/lookup.rb +126 -150
  72. data/lib/puppet/functions/map.rb +6 -14
  73. data/lib/puppet/functions/match.rb +1 -0
  74. data/lib/puppet/functions/reduce.rb +5 -13
  75. data/lib/puppet/functions/reverse_each.rb +82 -0
  76. data/lib/puppet/functions/scanf.rb +15 -18
  77. data/lib/puppet/functions/slice.rb +22 -36
  78. data/lib/puppet/functions/split.rb +2 -2
  79. data/lib/puppet/functions/step.rb +88 -0
  80. data/lib/puppet/functions/type.rb +70 -0
  81. data/lib/puppet/functions.rb +45 -6
  82. data/lib/puppet/graph/rb_tree_map.rb +1 -1
  83. data/lib/puppet/indirector/catalog/compiler.rb +188 -5
  84. data/lib/puppet/indirector/facts/facter.rb +2 -13
  85. data/lib/puppet/indirector/file_content/http.rb +15 -0
  86. data/lib/puppet/indirector/file_metadata/http.rb +27 -0
  87. data/lib/puppet/indirector/generic_http.rb +16 -0
  88. data/lib/puppet/indirector/hiera.rb +3 -1
  89. data/lib/puppet/indirector/indirection.rb +6 -2
  90. data/lib/puppet/indirector/json.rb +2 -2
  91. data/lib/puppet/indirector/node/exec.rb +1 -1
  92. data/lib/puppet/indirector/node/ldap.rb +1 -1
  93. data/lib/puppet/indirector/rest.rb +2 -1
  94. data/lib/puppet/info_service/class_information_service.rb +13 -12
  95. data/lib/puppet/loaders.rb +1 -0
  96. data/lib/puppet/module.rb +6 -2
  97. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +9 -2
  98. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +1 -1
  99. data/lib/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +2 -2
  100. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  101. data/lib/puppet/network/http/pool.rb +9 -0
  102. data/lib/puppet/node/environment.rb +11 -2
  103. data/lib/puppet/node.rb +11 -2
  104. data/lib/puppet/parser/ast/pops_bridge.rb +19 -22
  105. data/lib/puppet/parser/compiler.rb +4 -11
  106. data/lib/puppet/parser/environment_compiler.rb +0 -1
  107. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -1
  108. data/lib/puppet/parser/functions/inline_template.rb +1 -1
  109. data/lib/puppet/parser/functions/lookup.rb +128 -149
  110. data/lib/puppet/parser/functions/map.rb +1 -1
  111. data/lib/puppet/parser/functions/match.rb +1 -0
  112. data/lib/puppet/parser/functions/scanf.rb +15 -26
  113. data/lib/puppet/parser/functions/slice.rb +17 -24
  114. data/lib/puppet/parser/functions/split.rb +1 -1
  115. data/lib/puppet/parser/functions.rb +28 -16
  116. data/lib/puppet/parser/resource.rb +19 -17
  117. data/lib/puppet/parser/scope.rb +176 -5
  118. data/lib/puppet/plugins/data_providers/data_provider.rb +56 -14
  119. data/lib/puppet/pops/adaptable.rb +4 -1
  120. data/lib/puppet/pops/adapters.rb +80 -12
  121. data/lib/puppet/pops/binder/binder.rb +21 -17
  122. data/lib/puppet/pops/binder/binder_issues.rb +8 -6
  123. data/lib/puppet/pops/binder/bindings_checker.rb +12 -8
  124. data/lib/puppet/pops/binder/bindings_composer.rb +16 -12
  125. data/lib/puppet/pops/binder/bindings_factory.rb +108 -104
  126. data/lib/puppet/pops/binder/bindings_model.rb +49 -47
  127. data/lib/puppet/pops/binder/config/diagnostic_producer.rb +10 -6
  128. data/lib/puppet/pops/binder/injector.rb +53 -48
  129. data/lib/puppet/pops/binder/key_factory.rb +10 -6
  130. data/lib/puppet/pops/binder/producers.rb +67 -62
  131. data/lib/puppet/pops/evaluator/access_operator.rb +98 -96
  132. data/lib/puppet/pops/evaluator/closure.rb +122 -106
  133. data/lib/puppet/pops/evaluator/collector_transformer.rb +34 -14
  134. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +0 -1
  135. data/lib/puppet/pops/evaluator/compare_operator.rb +13 -9
  136. data/lib/puppet/pops/evaluator/epp_evaluator.rb +9 -8
  137. data/lib/puppet/pops/evaluator/evaluator_impl.rb +78 -76
  138. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +85 -0
  139. data/lib/puppet/pops/evaluator/relationship_operator.rb +13 -11
  140. data/lib/puppet/pops/evaluator/runtime3_converter.rb +5 -0
  141. data/lib/puppet/pops/evaluator/runtime3_support.rb +47 -42
  142. data/lib/puppet/pops/functions/function.rb +6 -2
  143. data/lib/puppet/pops/issue_reporter.rb +6 -4
  144. data/lib/puppet/pops/issues.rb +50 -11
  145. data/lib/puppet/pops/loader/base_loader.rb +1 -1
  146. data/lib/puppet/pops/loader/loader.rb +1 -1
  147. data/lib/puppet/pops/loader/loader_paths.rb +15 -0
  148. data/lib/puppet/pops/loader/module_loaders.rb +17 -13
  149. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +18 -13
  150. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +16 -3
  151. data/lib/puppet/pops/loader/type_definition_instantiator.rb +55 -0
  152. data/lib/puppet/pops/loaders.rb +51 -9
  153. data/lib/puppet/pops/lookup/explainer.rb +73 -3
  154. data/lib/puppet/pops/lookup/invocation.rb +21 -19
  155. data/lib/puppet/pops/lookup.rb +17 -12
  156. data/lib/puppet/pops/merge_strategy.rb +16 -19
  157. data/lib/puppet/pops/model/factory.rb +179 -157
  158. data/lib/puppet/pops/model/model.rb +17 -8
  159. data/lib/puppet/pops/model/model_label_provider.rb +14 -7
  160. data/lib/puppet/pops/model/model_meta.rb +17 -0
  161. data/lib/puppet/pops/model/model_tree_dumper.rb +8 -0
  162. data/lib/puppet/pops/parser/egrammar.ra +38 -14
  163. data/lib/puppet/pops/parser/eparser.rb +1353 -1276
  164. data/lib/puppet/pops/parser/epp_support.rb +11 -7
  165. data/lib/puppet/pops/parser/evaluating_parser.rb +17 -13
  166. data/lib/puppet/pops/parser/heredoc_support.rb +15 -11
  167. data/lib/puppet/pops/parser/lexer2.rb +428 -403
  168. data/lib/puppet/pops/parser/lexer_support.rb +85 -7
  169. data/lib/puppet/pops/parser/locator.rb +21 -0
  170. data/lib/puppet/pops/parser/parser_support.rb +19 -16
  171. data/lib/puppet/pops/parser/slurp_support.rb +16 -8
  172. data/lib/puppet/pops/types/class_loader.rb +23 -19
  173. data/lib/puppet/pops/types/enumeration.rb +9 -26
  174. data/lib/puppet/pops/types/iterable.rb +308 -0
  175. data/lib/puppet/pops/types/recursion_guard.rb +82 -0
  176. data/lib/puppet/pops/types/type_acceptor.rb +25 -0
  177. data/lib/puppet/pops/types/type_asserter.rb +10 -9
  178. data/lib/puppet/pops/types/type_calculator.rb +140 -387
  179. data/lib/puppet/pops/types/type_factory.rb +91 -57
  180. data/lib/puppet/pops/types/type_formatter.rb +334 -0
  181. data/lib/puppet/pops/types/type_mismatch_describer.rb +226 -59
  182. data/lib/puppet/pops/types/type_parser.rb +159 -112
  183. data/lib/puppet/pops/types/types.rb +2057 -1253
  184. data/lib/puppet/pops/utils.rb +11 -10
  185. data/lib/puppet/pops/validation/checker4_0.rb +115 -63
  186. data/lib/puppet/pops/validation/validator_factory_4_0.rb +8 -4
  187. data/lib/puppet/pops/validation.rb +11 -9
  188. data/lib/puppet/pops.rb +0 -8
  189. data/lib/puppet/provider/aixobject.rb +1 -1
  190. data/lib/puppet/provider/augeas/augeas.rb +1 -1
  191. data/lib/puppet/provider/cron/crontab.rb +1 -1
  192. data/lib/puppet/provider/exec/windows.rb +1 -1
  193. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  194. data/lib/puppet/provider/macauthorization/macauthorization.rb +10 -9
  195. data/lib/puppet/provider/nameservice/directoryservice.rb +35 -50
  196. data/lib/puppet/provider/package/appdmg.rb +3 -2
  197. data/lib/puppet/provider/package/dnf.rb +1 -1
  198. data/lib/puppet/provider/package/pip.rb +16 -9
  199. data/lib/puppet/provider/package/pip3.rb +1 -1
  200. data/lib/puppet/provider/package/pkg.rb +1 -1
  201. data/lib/puppet/provider/package/pkgdmg.rb +3 -2
  202. data/lib/puppet/provider/package/pkgng.rb +13 -4
  203. data/lib/puppet/provider/package/rpm.rb +0 -1
  204. data/lib/puppet/provider/package/windows.rb +1 -1
  205. data/lib/puppet/provider/package/yum.rb +2 -2
  206. data/lib/puppet/provider/package/zypper.rb +19 -0
  207. data/lib/puppet/provider/service/debian.rb +7 -20
  208. data/lib/puppet/provider/service/init.rb +7 -0
  209. data/lib/puppet/provider/service/launchd.rb +6 -12
  210. data/lib/puppet/provider/service/systemd.rb +9 -2
  211. data/lib/puppet/provider/sshkey/parsed.rb +1 -1
  212. data/lib/puppet/provider/user/aix.rb +1 -1
  213. data/lib/puppet/provider/user/directoryservice.rb +33 -58
  214. data/lib/puppet/provider/user/windows_adsi.rb +2 -2
  215. data/lib/puppet/provider/yumrepo/inifile.rb +6 -3
  216. data/lib/puppet/provider/zfs/zfs.rb +1 -1
  217. data/lib/puppet/provider/zpool/zpool.rb +1 -1
  218. data/lib/puppet/reference/configuration.rb +1 -1
  219. data/lib/puppet/reference/providers.rb +1 -1
  220. data/lib/puppet/resource/capability_finder.rb +20 -13
  221. data/lib/puppet/resource/catalog.rb +60 -3
  222. data/lib/puppet/resource/status.rb +11 -2
  223. data/lib/puppet/resource/type.rb +33 -42
  224. data/lib/puppet/resource.rb +15 -12
  225. data/lib/puppet/settings/config_file.rb +1 -1
  226. data/lib/puppet/settings/environment_conf.rb +13 -5
  227. data/lib/puppet/settings.rb +1 -1
  228. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  229. data/lib/puppet/ssl/certificate_request.rb +4 -4
  230. data/lib/puppet/ssl/certificate_signer.rb +1 -1
  231. data/lib/puppet/ssl/validator/default_validator.rb +1 -1
  232. data/lib/puppet/test/test_helper.rb +16 -4
  233. data/lib/puppet/transaction/additional_resource_generator.rb +23 -5
  234. data/lib/puppet/transaction/report.rb +31 -1
  235. data/lib/puppet/transaction/resource_harness.rb +0 -25
  236. data/lib/puppet/transaction.rb +15 -2
  237. data/lib/puppet/type/augeas.rb +1 -1
  238. data/lib/puppet/type/cron.rb +12 -12
  239. data/lib/puppet/type/file/checksum_value.rb +53 -0
  240. data/lib/puppet/type/file/content.rb +26 -111
  241. data/lib/puppet/type/file/data_sync.rb +84 -0
  242. data/lib/puppet/type/file/ensure.rb +17 -14
  243. data/lib/puppet/type/file/selcontext.rb +1 -1
  244. data/lib/puppet/type/file/source.rb +103 -18
  245. data/lib/puppet/type/file.rb +91 -39
  246. data/lib/puppet/type/filebucket.rb +1 -1
  247. data/lib/puppet/type/group.rb +6 -2
  248. data/lib/puppet/type/interface.rb +8 -3
  249. data/lib/puppet/type/macauthorization.rb +1 -1
  250. data/lib/puppet/type/package.rb +6 -0
  251. data/lib/puppet/type/schedule.rb +1 -1
  252. data/lib/puppet/type/stage.rb +1 -1
  253. data/lib/puppet/type/user.rb +19 -17
  254. data/lib/puppet/type/yumrepo.rb +20 -0
  255. data/lib/puppet/type.rb +11 -11
  256. data/lib/puppet/util/autoload.rb +16 -11
  257. data/lib/puppet/util/checksums.rb +74 -31
  258. data/lib/puppet/util/execution.rb +1 -1
  259. data/lib/puppet/util/http_proxy.rb +72 -0
  260. data/lib/puppet/util/log.rb +2 -0
  261. data/lib/puppet/util/logging.rb +43 -1
  262. data/lib/puppet/util/monkey_patches.rb +2 -2
  263. data/lib/puppet/util/multi_match.rb +51 -0
  264. data/lib/puppet/util/network_device/cisco/device.rb +10 -2
  265. data/lib/puppet/util/network_device/cisco/interface.rb +21 -8
  266. data/lib/puppet/util/network_device/transport/ssh.rb +7 -3
  267. data/lib/puppet/util/network_device/transport/telnet.rb +39 -36
  268. data/lib/puppet/util/plist.rb +130 -0
  269. data/lib/puppet/util/resource_template.rb +1 -1
  270. data/lib/puppet/util/run_mode.rb +2 -2
  271. data/lib/puppet/util/skip_tags.rb +9 -0
  272. data/lib/puppet/util/windows/access_control_entry.rb +1 -1
  273. data/lib/puppet/util/windows/access_control_list.rb +3 -3
  274. data/lib/puppet/util/windows/adsi.rb +65 -28
  275. data/lib/puppet/util/windows/api_types.rb +24 -18
  276. data/lib/puppet/util/windows/com.rb +3 -3
  277. data/lib/puppet/util/windows/error.rb +1 -1
  278. data/lib/puppet/util/windows/file.rb +8 -8
  279. data/lib/puppet/util/windows/principal.rb +190 -0
  280. data/lib/puppet/util/windows/process.rb +78 -11
  281. data/lib/puppet/util/windows/registry.rb +22 -16
  282. data/lib/puppet/util/windows/root_certs.rb +5 -5
  283. data/lib/puppet/util/windows/security.rb +33 -35
  284. data/lib/puppet/util/windows/security_descriptor.rb +1 -1
  285. data/lib/puppet/util/windows/sid.rb +84 -15
  286. data/lib/puppet/util/windows/taskscheduler.rb +15 -15
  287. data/lib/puppet/util/windows/user.rb +10 -10
  288. data/lib/puppet/util/windows.rb +4 -0
  289. data/lib/puppet/util.rb +109 -22
  290. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +1 -1
  291. data/lib/puppet/vendor/pathspec/LICENSE +2 -2
  292. data/lib/puppet/vendor/pathspec/README.md +1 -1
  293. data/lib/puppet/vendor/rgen/README.rdoc +1 -1
  294. data/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +14 -0
  295. data/lib/puppet/version.rb +1 -1
  296. data/lib/puppet.rb +17 -0
  297. data/lib/semver.rb +17 -1
  298. data/man/man5/puppet.conf.5 +12 -12
  299. data/man/man8/extlookup2hiera.8 +1 -1
  300. data/man/man8/puppet-agent.8 +2 -2
  301. data/man/man8/puppet-apply.8 +2 -2
  302. data/man/man8/puppet-ca.8 +2 -2
  303. data/man/man8/puppet-catalog.8 +2 -2
  304. data/man/man8/puppet-cert.8 +2 -2
  305. data/man/man8/puppet-certificate.8 +2 -2
  306. data/man/man8/puppet-certificate_request.8 +2 -2
  307. data/man/man8/puppet-certificate_revocation_list.8 +2 -2
  308. data/man/man8/puppet-config.8 +3 -3
  309. data/man/man8/puppet-describe.8 +1 -1
  310. data/man/man8/puppet-device.8 +1 -1
  311. data/man/man8/puppet-doc.8 +1 -1
  312. data/man/man8/puppet-epp.8 +2 -2
  313. data/man/man8/puppet-facts.8 +2 -2
  314. data/man/man8/puppet-file.8 +2 -2
  315. data/man/man8/puppet-filebucket.8 +2 -2
  316. data/man/man8/puppet-help.8 +2 -2
  317. data/man/man8/puppet-inspect.8 +2 -2
  318. data/man/man8/puppet-key.8 +2 -2
  319. data/man/man8/puppet-man.8 +2 -2
  320. data/man/man8/puppet-master.8 +2 -2
  321. data/man/man8/puppet-module.8 +9 -9
  322. data/man/man8/puppet-node.8 +2 -2
  323. data/man/man8/puppet-parser.8 +2 -2
  324. data/man/man8/puppet-plugin.8 +2 -2
  325. data/man/man8/puppet-report.8 +2 -2
  326. data/man/man8/puppet-resource.8 +2 -2
  327. data/man/man8/puppet-resource_type.8 +2 -2
  328. data/man/man8/puppet-status.8 +3 -3
  329. data/man/man8/puppet.8 +1 -1
  330. data/spec/fixtures/module.tar.gz +0 -0
  331. data/spec/fixtures/unit/application/environments/production/data/common.yaml +4 -0
  332. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +1 -0
  333. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +1 -0
  334. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/data.pp +10 -0
  335. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +1 -0
  336. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +4 -0
  337. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +4 -0
  338. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +7 -0
  339. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +4 -0
  340. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +4 -0
  341. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +2 -0
  342. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +7 -0
  343. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +1 -0
  344. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +6 -0
  345. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +5 -0
  346. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +2 -0
  347. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +9 -0
  348. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +4 -0
  349. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +5 -0
  350. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +3 -0
  351. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +9 -0
  352. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +1 -0
  353. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/manifests/init.pp +0 -1
  354. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/data/empty.json +0 -0
  355. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/hiera.yaml +5 -0
  356. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/manifests/init.pp +2 -0
  357. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/metadata.json +9 -0
  358. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/data/empty.yaml +1 -0
  359. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/hiera.yaml +5 -0
  360. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/manifests/init.pp +2 -0
  361. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/metadata.json +9 -0
  362. data/spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/data/first.json +2 -1
  363. data/spec/fixtures/unit/module/trailing-comma.json +1 -1
  364. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +3 -0
  365. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +6 -0
  366. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +8 -0
  367. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +1 -0
  368. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +5 -0
  369. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +5 -0
  370. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +5 -0
  371. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +5 -0
  372. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +5 -0
  373. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +5 -0
  374. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +5 -0
  375. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +5 -0
  376. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +81 -0
  377. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{user → modules/user}/metadata.json +2 -1
  378. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +1 -0
  379. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +1 -0
  380. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +187 -0
  381. data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +8 -0
  382. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +205 -0
  383. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +213 -0
  384. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +213 -0
  385. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +205 -0
  386. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +197 -0
  387. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +205 -0
  388. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +205 -0
  389. data/spec/integration/defaults_spec.rb +14 -2
  390. data/spec/integration/file_system/uniquefile_spec.rb +29 -0
  391. data/spec/integration/module_tool/tar/mini_spec.rb +28 -0
  392. data/spec/integration/node/environment_spec.rb +13 -0
  393. data/spec/integration/parser/collection_spec.rb +8 -0
  394. data/spec/integration/parser/dynamic_scoping_spec.rb +67 -0
  395. data/spec/integration/parser/parameter_defaults_spec.rb +336 -0
  396. data/spec/integration/parser/undef_param_spec.rb +8 -0
  397. data/spec/integration/provider/yumrepo_spec.rb +1 -1
  398. data/spec/integration/test/test_helper_spec.rb +28 -0
  399. data/spec/integration/transaction/report_spec.rb +16 -0
  400. data/spec/integration/transaction_spec.rb +11 -0
  401. data/spec/integration/type/file_spec.rb +194 -4
  402. data/spec/integration/type/package_spec.rb +5 -1
  403. data/spec/integration/type/tidy_spec.rb +21 -9
  404. data/spec/integration/util/execution_spec.rb +22 -0
  405. data/spec/integration/util/windows/principal_spec.rb +201 -0
  406. data/spec/integration/util/windows/process_spec.rb +31 -0
  407. data/spec/{unit → integration}/util/windows/registry_spec.rb +91 -1
  408. data/spec/integration/util/windows/security_spec.rb +8 -8
  409. data/spec/integration/util/windows/user_spec.rb +1 -1
  410. data/spec/integration/util_spec.rb +49 -27
  411. data/spec/lib/puppet_spec/compiler.rb +17 -0
  412. data/spec/lib/puppet_spec/files.rb +2 -2
  413. data/spec/lib/puppet_spec/pops.rb +13 -0
  414. data/spec/shared_behaviours/iterative_functions.rb +1 -1
  415. data/spec/shared_contexts/types_setup.rb +96 -0
  416. data/spec/unit/agent_spec.rb +1 -0
  417. data/spec/unit/application/agent_spec.rb +10 -0
  418. data/spec/unit/application/apply_spec.rb +9 -0
  419. data/spec/unit/application/lookup_spec.rb +138 -28
  420. data/spec/unit/configurer/downloader_spec.rb +5 -5
  421. data/spec/unit/configurer_spec.rb +271 -39
  422. data/spec/unit/data_providers/hiera_data_provider_spec.rb +182 -5
  423. data/spec/unit/data_providers/hiera_interpolation_spec.rb +57 -0
  424. data/spec/unit/defaults_spec.rb +15 -0
  425. data/spec/unit/environments_spec.rb +24 -4
  426. data/spec/unit/face/epp_face_spec.rb +2 -2
  427. data/spec/unit/face/parser_spec.rb +43 -2
  428. data/spec/unit/file_serving/http_metadata_spec.rb +85 -0
  429. data/spec/unit/file_serving/metadata_spec.rb +50 -0
  430. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -2
  431. data/spec/unit/file_system_spec.rb +26 -0
  432. data/spec/unit/functions/assert_type_spec.rb +36 -2
  433. data/spec/unit/functions/defined_spec.rb +2 -2
  434. data/spec/unit/functions/epp_spec.rb +17 -9
  435. data/spec/unit/functions/inline_epp_spec.rb +4 -4
  436. data/spec/unit/functions/lookup_spec.rb +88 -16
  437. data/spec/unit/functions/regsubst_spec.rb +1 -1
  438. data/spec/unit/functions/reverse_each_spec.rb +108 -0
  439. data/spec/unit/functions/step_spec.rb +113 -0
  440. data/spec/unit/functions/type_spec.rb +35 -0
  441. data/spec/unit/functions4_spec.rb +62 -6
  442. data/spec/unit/hiera/scope_spec.rb +5 -2
  443. data/spec/unit/indirector/catalog/compiler_spec.rb +705 -4
  444. data/spec/unit/indirector/file_bucket_file/file_spec.rb +1 -1
  445. data/spec/unit/indirector/indirection_spec.rb +1 -1
  446. data/spec/unit/indirector/json_spec.rb +1 -1
  447. data/spec/unit/info_service_spec.rb +94 -32
  448. data/spec/unit/module_spec.rb +14 -0
  449. data/spec/unit/module_tool/applications/builder_spec.rb +4 -4
  450. data/spec/unit/network/authstore_spec.rb +1 -1
  451. data/spec/unit/network/http/connection_spec.rb +1 -0
  452. data/spec/unit/network/http/pool_spec.rb +30 -0
  453. data/spec/unit/node_spec.rb +8 -0
  454. data/spec/unit/parser/compiler_spec.rb +16 -18
  455. data/spec/unit/parser/scope_spec.rb +28 -11
  456. data/spec/unit/pops/evaluator/access_ops_spec.rb +7 -7
  457. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +3 -0
  458. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +8 -2
  459. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +4 -4
  460. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +63 -0
  461. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +6 -0
  462. data/spec/unit/pops/loaders/dependency_loader_spec.rb +53 -0
  463. data/spec/unit/pops/loaders/loaders_spec.rb +127 -2
  464. data/spec/unit/pops/parser/lexer2_spec.rb +118 -3
  465. data/spec/unit/pops/parser/parse_calls_spec.rb +8 -0
  466. data/spec/unit/pops/parser/parser_rspec_helper.rb +5 -0
  467. data/spec/unit/pops/parser/parser_spec.rb +10 -0
  468. data/spec/unit/pops/parser/source_pos_adapter_spec.rb +26 -0
  469. data/spec/unit/pops/types/iterable_spec.rb +262 -0
  470. data/spec/unit/pops/types/recursion_guard_spec.rb +91 -0
  471. data/spec/unit/pops/types/type_acceptor_spec.rb +105 -0
  472. data/spec/unit/pops/types/type_asserter_spec.rb +43 -0
  473. data/spec/unit/pops/types/type_calculator_spec.rb +275 -390
  474. data/spec/unit/pops/types/type_formatter_spec.rb +280 -0
  475. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +152 -0
  476. data/spec/unit/pops/types/type_parser_spec.rb +58 -13
  477. data/spec/unit/pops/types/types_spec.rb +241 -0
  478. data/spec/unit/pops/validator/validator_spec.rb +159 -15
  479. data/spec/unit/provider/cron/parsed_spec.rb +1 -0
  480. data/spec/unit/provider/group/windows_adsi_spec.rb +8 -8
  481. data/spec/unit/provider/macauthorization_spec.rb +5 -2
  482. data/spec/unit/provider/nameservice/directoryservice_spec.rb +14 -19
  483. data/spec/unit/provider/package/appdmg_spec.rb +3 -3
  484. data/spec/unit/provider/package/dnf_spec.rb +16 -0
  485. data/spec/unit/provider/package/pip3_spec.rb +60 -42
  486. data/spec/unit/provider/package/pip_spec.rb +88 -47
  487. data/spec/unit/provider/package/pkgdmg_spec.rb +18 -9
  488. data/spec/unit/provider/package/pkgng_spec.rb +4 -2
  489. data/spec/unit/provider/package/rpm_spec.rb +2 -25
  490. data/spec/unit/provider/package/yum_spec.rb +12 -1
  491. data/spec/unit/provider/package/zypper_spec.rb +14 -0
  492. data/spec/unit/provider/service/debian_spec.rb +6 -24
  493. data/spec/unit/provider/service/init_spec.rb +11 -1
  494. data/spec/unit/provider/service/launchd_spec.rb +18 -25
  495. data/spec/unit/provider/service/systemd_spec.rb +25 -12
  496. data/spec/unit/provider/service/upstart_spec.rb +57 -0
  497. data/spec/unit/provider/sshkey/parsed_spec.rb +20 -19
  498. data/spec/unit/provider/user/directoryservice_spec.rb +40 -59
  499. data/spec/unit/provider/user/windows_adsi_spec.rb +5 -5
  500. data/spec/unit/provider/yumrepo/inifile_spec.rb +16 -0
  501. data/spec/unit/resource/capability_finder_spec.rb +28 -15
  502. data/spec/unit/resource/catalog_spec.rb +33 -1
  503. data/spec/unit/resource/type_spec.rb +149 -7
  504. data/spec/unit/resource_spec.rb +99 -50
  505. data/spec/unit/settings/environment_conf_spec.rb +18 -1
  506. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
  507. data/spec/unit/transaction/report_spec.rb +27 -0
  508. data/spec/unit/transaction/resource_harness_spec.rb +0 -47
  509. data/spec/unit/transaction_spec.rb +5 -0
  510. data/spec/unit/type/file/checksum_spec.rb +6 -0
  511. data/spec/unit/type/file/checksum_value_spec.rb +286 -0
  512. data/spec/unit/type/file/content_spec.rb +12 -193
  513. data/spec/unit/type/file/source_spec.rb +211 -119
  514. data/spec/unit/type/file_spec.rb +133 -34
  515. data/spec/unit/type/interface_spec.rb +32 -0
  516. data/spec/unit/type/macauthorization_spec.rb +4 -1
  517. data/spec/unit/type/yumrepo_spec.rb +2 -2
  518. data/spec/unit/util/filetype_spec.rb +1 -1
  519. data/spec/unit/util/http_proxy_spec.rb +2 -2
  520. data/spec/unit/util/log/destinations_spec.rb +0 -2
  521. data/spec/unit/util/logging_spec.rb +69 -0
  522. data/spec/unit/util/multi_match_spec.rb +39 -0
  523. data/spec/unit/util/network_device/cisco/device_spec.rb +253 -216
  524. data/spec/unit/util/network_device/transport/telnet_spec.rb +60 -58
  525. data/spec/unit/util/plist_spec.rb +110 -0
  526. data/spec/unit/util/resource_template_spec.rb +2 -2
  527. data/spec/unit/util/run_mode_spec.rb +27 -3
  528. data/spec/unit/util/windows/adsi_spec.rb +46 -38
  529. data/spec/unit/util/windows/api_types_spec.rb +42 -0
  530. data/spec/unit/util/windows/security_descriptor_spec.rb +3 -3
  531. data/spec/unit/util/windows/sid_spec.rb +48 -11
  532. data/spec/unit/util_spec.rb +123 -13
  533. data/tasks/cfpropertylist.rake +15 -0
  534. metadata +3342 -3195
  535. data/lib/puppet/vendor/load_plist.rb +0 -1
  536. data/lib/puppet/vendor/plist/CHANGELOG +0 -82
  537. data/lib/puppet/vendor/plist/MIT-LICENSE +0 -21
  538. data/lib/puppet/vendor/plist/PUPPET_README.md +0 -6
  539. data/lib/puppet/vendor/plist/README +0 -36
  540. data/lib/puppet/vendor/plist/Rakefile +0 -144
  541. data/lib/puppet/vendor/plist/docs/USAGE +0 -104
  542. data/lib/puppet/vendor/plist/docs/jamis-template.rb +0 -591
  543. data/lib/puppet/vendor/plist/lib/plist/generator.rb +0 -224
  544. data/lib/puppet/vendor/plist/lib/plist/parser.rb +0 -225
  545. data/lib/puppet/vendor/plist/lib/plist.rb +0 -22
  546. data/lib/puppet/vendor/plist/test/assets/AlbumData.xml +0 -203
  547. data/lib/puppet/vendor/plist/test/assets/Cookies.plist +0 -104
  548. data/lib/puppet/vendor/plist/test/assets/commented.plist +0 -9
  549. data/lib/puppet/vendor/plist/test/assets/example_data.bin +0 -0
  550. data/lib/puppet/vendor/plist/test/assets/example_data.jpg +0 -0
  551. data/lib/puppet/vendor/plist/test/assets/example_data.plist +0 -259
  552. data/lib/puppet/vendor/plist/test/assets/test_data_elements.plist +0 -24
  553. data/lib/puppet/vendor/plist/test/assets/test_empty_key.plist +0 -13
  554. data/lib/puppet/vendor/plist/test/test_data_elements.rb +0 -115
  555. data/lib/puppet/vendor/plist/test/test_generator.rb +0 -59
  556. data/lib/puppet/vendor/plist/test/test_generator_basic_types.rb +0 -58
  557. data/lib/puppet/vendor/plist/test/test_generator_collections.rb +0 -82
  558. data/lib/puppet/vendor/plist/test/test_parser.rb +0 -90
  559. /data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{usee → modules/usee}/lib/puppet/functions/usee/callee.rb +0 -0
  560. /data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{user → modules/user}/lib/puppet/functions/user/caller.rb +0 -0
@@ -1,24 +1,24 @@
1
+ module Puppet::Pops
2
+ module Evaluator
1
3
  # AccessOperator handles operator []
2
4
  # This operator is part of evaluation.
3
5
  #
4
- class Puppet::Pops::Evaluator::AccessOperator
6
+ class AccessOperator
5
7
  # Provides access to the Puppet 3.x runtime (scope, etc.)
6
8
  # This separation has been made to make it easier to later migrate the evaluator to an improved runtime.
7
9
  #
8
- include Puppet::Pops::Evaluator::Runtime3Support
10
+ include Runtime3Support
9
11
 
10
- Issues = Puppet::Pops::Issues
11
- TYPEFACTORY = Puppet::Pops::Types::TypeFactory
12
12
  EMPTY_STRING = ''.freeze
13
13
 
14
14
  attr_reader :semantic
15
15
 
16
16
  # Initialize with AccessExpression to enable reporting issues
17
- # @param access_expression [Puppet::Pops::Model::AccessExpression] the semantic object being evaluated
17
+ # @param access_expression [Model::AccessExpression] the semantic object being evaluated
18
18
  # @return [void]
19
19
  #
20
20
  def initialize(access_expression)
21
- @@access_visitor ||= Puppet::Pops::Visitor.new(self, "access", 2, nil)
21
+ @@access_visitor ||= Visitor.new(self, "access", 2, nil)
22
22
  @semantic = access_expression
23
23
  end
24
24
 
@@ -36,10 +36,10 @@ class Puppet::Pops::Evaluator::AccessOperator
36
36
  keys.flatten!
37
37
  result = case keys.size
38
38
  when 0
39
- fail(Puppet::Pops::Issues::BAD_STRING_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
39
+ fail(Issues::BAD_STRING_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
40
40
  when 1
41
41
  # Note that Ruby 1.8.7 requires a length of 1 to produce a String
42
- k1 = coerce_numeric(keys[0], @semantic.keys, scope)
42
+ k1 = coerce_numeric(keys[0], @semantic.keys[0], scope)
43
43
  bad_access_key_type(o, 0, k1, Integer) unless k1.is_a?(Integer)
44
44
  k2 = 1
45
45
  k1 = k1 < 0 ? o.length + k1 : k1 # abs pos
@@ -50,8 +50,8 @@ class Puppet::Pops::Evaluator::AccessOperator
50
50
  o[ k1, k2 ]
51
51
  end
52
52
  when 2
53
- k1 = coerce_numeric(keys[0], @semantic.keys, scope)
54
- k2 = coerce_numeric(keys[1], @semantic.keys, scope)
53
+ k1 = coerce_numeric(keys[0], @semantic.keys[0], scope)
54
+ k2 = coerce_numeric(keys[1], @semantic.keys[1], scope)
55
55
  [k1, k2].each_with_index { |k,i| bad_access_key_type(o, i, k, Integer) unless k.is_a?(Integer) }
56
56
 
57
57
  k1 = k1 < 0 ? o.length + k1 : k1 # abs pos (negative is count from end)
@@ -63,7 +63,7 @@ class Puppet::Pops::Evaluator::AccessOperator
63
63
  end
64
64
  o[ k1, k2 ]
65
65
  else
66
- fail(Puppet::Pops::Issues::BAD_STRING_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
66
+ fail(Issues::BAD_STRING_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
67
67
  end
68
68
  # Specified as: an index outside of range, or empty result == empty string
69
69
  (result.nil? || result.empty?) ? EMPTY_STRING : result
@@ -75,10 +75,10 @@ class Puppet::Pops::Evaluator::AccessOperator
75
75
  keys.flatten!
76
76
  unless keys.size == 1
77
77
  blamed = keys.size == 0 ? @semantic : @semantic.keys[1]
78
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, blamed, :base_type => o, :min=>1, :actual => keys.size)
78
+ fail(Issues::BAD_TYPE_SLICE_ARITY, blamed, :base_type => o, :min=>1, :actual => keys.size)
79
79
  end
80
80
  assert_keys(keys, o, 1, 1, String, Regexp)
81
- Puppet::Pops::Types::TypeFactory.regexp(*keys)
81
+ Types::TypeFactory.regexp(*keys)
82
82
  end
83
83
 
84
84
  # Evaluates <ary>[] with 1 or 2 arguments. One argument is an index lookup, two arguments is a slice from/to.
@@ -87,7 +87,7 @@ class Puppet::Pops::Evaluator::AccessOperator
87
87
  keys.flatten!
88
88
  case keys.size
89
89
  when 0
90
- fail(Puppet::Pops::Issues::BAD_ARRAY_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
90
+ fail(Issues::BAD_ARRAY_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
91
91
  when 1
92
92
  key = coerce_numeric(keys[0], @semantic.keys[0], scope)
93
93
  unless key.is_a?(Integer)
@@ -114,7 +114,7 @@ class Puppet::Pops::Evaluator::AccessOperator
114
114
  result = o[ k1, k2 ]
115
115
  result.nil? ? [] : result
116
116
  else
117
- fail(Puppet::Pops::Issues::BAD_ARRAY_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
117
+ fail(Issues::BAD_ARRAY_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
118
118
  end
119
119
  end
120
120
 
@@ -132,7 +132,7 @@ class Puppet::Pops::Evaluator::AccessOperator
132
132
  end
133
133
  case result.size
134
134
  when 0
135
- fail(Puppet::Pops::Issues::BAD_HASH_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
135
+ fail(Issues::BAD_HASH_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
136
136
  when 1
137
137
  result.pop
138
138
  else
@@ -145,35 +145,35 @@ class Puppet::Pops::Evaluator::AccessOperator
145
145
  def access_PEnumType(o, scope, keys)
146
146
  keys.flatten!
147
147
  assert_keys(keys, o, 1, Float::INFINITY, String)
148
- Puppet::Pops::Types::TypeFactory.enum(*keys)
148
+ Types::TypeFactory.enum(*keys)
149
149
  end
150
150
 
151
151
  def access_PVariantType(o, scope, keys)
152
152
  keys.flatten!
153
- assert_keys(keys, o, 1, Float::INFINITY, Puppet::Pops::Types::PAnyType)
154
- Puppet::Pops::Types::TypeFactory.variant(*keys)
153
+ assert_keys(keys, o, 1, Float::INFINITY, Types::PAnyType)
154
+ Types::TypeFactory.variant(*keys)
155
155
  end
156
156
 
157
157
  def access_PTupleType(o, scope, keys)
158
158
  keys.flatten!
159
- if TYPEFACTORY.is_range_parameter?(keys[-2]) && TYPEFACTORY.is_range_parameter?(keys[-1])
160
- size_type = TYPEFACTORY.range(keys[-2], keys[-1])
159
+ if Types::TypeFactory.is_range_parameter?(keys[-2]) && Types::TypeFactory.is_range_parameter?(keys[-1])
160
+ size_type = Types::TypeFactory.range(keys[-2], keys[-1])
161
161
  keys = keys[0, keys.size - 2]
162
- elsif TYPEFACTORY.is_range_parameter?(keys[-1])
163
- size_type = TYPEFACTORY.range(keys[-1], :default)
162
+ elsif Types::TypeFactory.is_range_parameter?(keys[-1])
163
+ size_type = Types::TypeFactory.range(keys[-1], :default)
164
164
  keys = keys[0, keys.size - 1]
165
165
  end
166
- assert_keys(keys, o, 1, Float::INFINITY, Puppet::Pops::Types::PAnyType)
167
- Puppet::Pops::Types::TypeFactory.tuple(keys, size_type)
166
+ assert_keys(keys, o, 1, Float::INFINITY, Types::PAnyType)
167
+ Types::TypeFactory.tuple(keys, size_type)
168
168
  end
169
169
 
170
170
  def access_PCallableType(o, scope, keys)
171
- TYPEFACTORY.callable(*keys)
171
+ Types::TypeFactory.callable(*keys)
172
172
  end
173
173
 
174
174
  def access_PStructType(o, scope, keys)
175
175
  assert_keys(keys, o, 1, 1, Hash)
176
- TYPEFACTORY.struct(keys[0])
176
+ Types::TypeFactory.struct(keys[0])
177
177
  end
178
178
 
179
179
  def access_PStringType(o, scope, keys)
@@ -184,9 +184,9 @@ class Puppet::Pops::Evaluator::AccessOperator
184
184
  when 2
185
185
  size_t = collection_size_t(0, keys[0], keys[1])
186
186
  else
187
- fail(Puppet::Pops::Issues::BAD_STRING_SLICE_ARITY, @semantic, {:actual => keys.size})
187
+ fail(Issues::BAD_STRING_SLICE_ARITY, @semantic, {:actual => keys.size})
188
188
  end
189
- TYPEFACTORY.string(size_t)
189
+ Types::TypeFactory.string(size_t)
190
190
  end
191
191
 
192
192
  # Asserts type of each key and calls fail with BAD_TYPE_SPECIFICATION
@@ -200,7 +200,7 @@ class Puppet::Pops::Evaluator::AccessOperator
200
200
  def assert_keys(keys, o, min, max, *allowed_classes)
201
201
  size = keys.size
202
202
  unless size.between?(min, max || Float::INFINITY)
203
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic, :base_type => o, :min=>1, :max => max, :actual => keys.size)
203
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic, :base_type => o, :min=>1, :max => max, :actual => keys.size)
204
204
  end
205
205
  keys.each_with_index do |k, i|
206
206
  unless allowed_classes.any? {|clazz| k.is_a?(clazz) }
@@ -210,7 +210,7 @@ class Puppet::Pops::Evaluator::AccessOperator
210
210
  end
211
211
 
212
212
  def bad_access_key_type(lhs, key_index, actual, *expected_classes)
213
- fail(Puppet::Pops::Issues::BAD_SLICE_KEY_TYPE, @semantic.keys[key_index], {
213
+ fail(Issues::BAD_SLICE_KEY_TYPE, @semantic.keys[key_index], {
214
214
  :left_value => lhs,
215
215
  :actual => bad_key_type_name(actual),
216
216
  :expected_classes => expected_classes
@@ -224,14 +224,14 @@ class Puppet::Pops::Evaluator::AccessOperator
224
224
  when :default
225
225
  'Default'
226
226
  else
227
- Puppet::Pops::Types::TypeCalculator.generalize(Puppet::Pops::Types::TypeCalculator.infer(actual)).to_s
227
+ Types::TypeCalculator.generalize(Types::TypeCalculator.infer(actual)).to_s
228
228
  end
229
229
  end
230
230
 
231
231
  def bad_type_specialization_key_type(type, key_index, actual, *expected_classes)
232
- label_provider = Puppet::Pops::Model::ModelLabelProvider.new()
232
+ label_provider = Model::ModelLabelProvider.new()
233
233
  expected = expected_classes.map {|c| label_provider.label(c) }.join(' or ')
234
- fail(Puppet::Pops::Issues::BAD_TYPE_SPECIALIZATION, @semantic.keys[key_index], {
234
+ fail(Issues::BAD_TYPE_SPECIALIZATION, @semantic.keys[key_index], {
235
235
  :type => type,
236
236
  :message => "Cannot use #{bad_key_type_name(actual)} where #{expected} is expected"
237
237
  })
@@ -239,24 +239,24 @@ class Puppet::Pops::Evaluator::AccessOperator
239
239
 
240
240
  def access_PPatternType(o, scope, keys)
241
241
  keys.flatten!
242
- assert_keys(keys, o, 1, Float::INFINITY, String, Regexp, Puppet::Pops::Types::PPatternType, Puppet::Pops::Types::PRegexpType)
243
- Puppet::Pops::Types::TypeFactory.pattern(*keys)
242
+ assert_keys(keys, o, 1, Float::INFINITY, String, Regexp, Types::PPatternType, Types::PRegexpType)
243
+ Types::TypeFactory.pattern(*keys)
244
244
  end
245
245
 
246
246
  def access_POptionalType(o, scope, keys)
247
247
  keys.flatten!
248
248
  if keys.size == 1
249
249
  type = keys[0]
250
- unless type.is_a?(Puppet::Pops::Types::PAnyType)
250
+ unless type.is_a?(Types::PAnyType)
251
251
  if type.is_a?(String)
252
- type = TYPEFACTORY.string(nil, type)
252
+ type = Types::TypeFactory.string(nil, type)
253
253
  else
254
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[0], {:base_type => 'Optional-Type', :actual => type.class})
254
+ fail(Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[0], {:base_type => 'Optional-Type', :actual => type.class})
255
255
  end
256
256
  end
257
- Puppet::Pops::Types::POptionalType.new(type)
257
+ Types::POptionalType.new(type)
258
258
  else
259
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic, {:base_type => 'Optional-Type', :min => 1, :actual => keys.size})
259
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic, {:base_type => 'Optional-Type', :min => 1, :actual => keys.size})
260
260
  end
261
261
  end
262
262
 
@@ -264,32 +264,32 @@ class Puppet::Pops::Evaluator::AccessOperator
264
264
  keys.flatten!
265
265
  case keys.size
266
266
  when 0
267
- TYPEFACTORY.not_undef
267
+ Types::TypeFactory.not_undef
268
268
  when 1
269
269
  type = keys[0]
270
270
  case type
271
271
  when String
272
- type = TYPEFACTORY.string(nil, type)
273
- when Puppet::Pops::Types::PAnyType
274
- type = nil if type.class == Puppet::Pops::Types::PAnyType
272
+ type = Types::TypeFactory.string(nil, type)
273
+ when Types::PAnyType
274
+ type = nil if type.class == Types::PAnyType
275
275
  else
276
- fail(Puppet::Pops::Issues::BAD_NOT_UNDEF_SLICE_TYPE, @semantic.keys[0], {:base_type => 'NotUndef-Type', :actual => type.class})
276
+ fail(Issues::BAD_NOT_UNDEF_SLICE_TYPE, @semantic.keys[0], {:base_type => 'NotUndef-Type', :actual => type.class})
277
277
  end
278
- TYPEFACTORY.not_undef(type)
278
+ Types::TypeFactory.not_undef(type)
279
279
  else
280
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic, {:base_type => 'NotUndef-Type', :min => 0, :max => 1, :actual => keys.size})
280
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic, {:base_type => 'NotUndef-Type', :min => 0, :max => 1, :actual => keys.size})
281
281
  end
282
282
  end
283
283
 
284
284
  def access_PType(o, scope, keys)
285
285
  keys.flatten!
286
286
  if keys.size == 1
287
- unless keys[0].is_a?(Puppet::Pops::Types::PAnyType)
288
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[0], {:base_type => 'Type-Type', :actual => keys[0].class})
287
+ unless keys[0].is_a?(Types::PAnyType)
288
+ fail(Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[0], {:base_type => 'Type-Type', :actual => keys[0].class})
289
289
  end
290
- Puppet::Pops::Types::PType.new(keys[0])
290
+ Types::PType.new(keys[0])
291
291
  else
292
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic, {:base_type => 'Type-Type', :min => 1, :actual => keys.size})
292
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic, {:base_type => 'Type-Type', :min => 1, :actual => keys.size})
293
293
  end
294
294
  end
295
295
 
@@ -297,34 +297,34 @@ class Puppet::Pops::Evaluator::AccessOperator
297
297
  keys.flatten!
298
298
  assert_keys(keys, o, 2, 2, String, String)
299
299
  # create runtime type based on runtime and name of class, (not inference of key's type)
300
- Puppet::Pops::Types::TypeFactory.runtime(*keys)
300
+ Types::TypeFactory.runtime(*keys)
301
301
  end
302
302
 
303
303
  def access_PIntegerType(o, scope, keys)
304
304
  keys.flatten!
305
305
  unless keys.size.between?(1, 2)
306
- fail(Puppet::Pops::Issues::BAD_INTEGER_SLICE_ARITY, @semantic, {:actual => keys.size})
306
+ fail(Issues::BAD_INTEGER_SLICE_ARITY, @semantic, {:actual => keys.size})
307
307
  end
308
308
  keys.each_with_index do |x, index|
309
- fail(Puppet::Pops::Issues::BAD_INTEGER_SLICE_TYPE, @semantic.keys[index],
309
+ fail(Issues::BAD_INTEGER_SLICE_TYPE, @semantic.keys[index],
310
310
  {:actual => x.class}) unless (x.is_a?(Integer) || x == :default)
311
311
  end
312
- Puppet::Pops::Types::PIntegerType.new(*keys)
312
+ Types::PIntegerType.new(*keys)
313
313
  end
314
314
 
315
315
  def access_PFloatType(o, scope, keys)
316
316
  keys.flatten!
317
317
  unless keys.size.between?(1, 2)
318
- fail(Puppet::Pops::Issues::BAD_FLOAT_SLICE_ARITY, @semantic, {:actual => keys.size})
318
+ fail(Issues::BAD_FLOAT_SLICE_ARITY, @semantic, {:actual => keys.size})
319
319
  end
320
320
  keys.each_with_index do |x, index|
321
- fail(Puppet::Pops::Issues::BAD_FLOAT_SLICE_TYPE, @semantic.keys[index],
321
+ fail(Issues::BAD_FLOAT_SLICE_TYPE, @semantic.keys[index],
322
322
  {:actual => x.class}) unless (x.is_a?(Float) || x.is_a?(Integer) || x == :default)
323
323
  end
324
324
  from, to = keys
325
325
  from = from == :default || from.nil? ? nil : Float(from)
326
326
  to = to == :default || to.nil? ? nil : Float(to)
327
- Puppet::Pops::Types::PFloatType.new(from, to)
327
+ Types::PFloatType.new(from, to)
328
328
  end
329
329
 
330
330
  # A Hash can create a new Hash type, one arg sets value type, two args sets key and value type in new type.
@@ -334,21 +334,21 @@ class Puppet::Pops::Evaluator::AccessOperator
334
334
  def access_PHashType(o, scope, keys)
335
335
  keys.flatten!
336
336
  keys[0,2].each_with_index do |k, index|
337
- unless k.is_a?(Puppet::Pops::Types::PAnyType)
338
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[index], {:base_type => 'Hash-Type', :actual => k.class})
337
+ unless k.is_a?(Types::PAnyType)
338
+ fail(Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[index], {:base_type => 'Hash-Type', :actual => k.class})
339
339
  end
340
340
  end
341
341
  case keys.size
342
342
  when 2
343
- Puppet::Pops::Types::PHashType.new(keys[0], keys[1], nil)
343
+ Types::PHashType.new(keys[0], keys[1], nil)
344
344
  when 3
345
345
  size_t = keys[2]
346
- size_t = Puppet::Pops::Types::PIntegerType.new(size_t) unless size_t.is_a?(Puppet::Pops::Types::PIntegerType)
347
- Puppet::Pops::Types::PHashType.new(keys[0], keys[1], size_t)
346
+ size_t = Types::PIntegerType.new(size_t) unless size_t.is_a?(Types::PIntegerType)
347
+ Types::PHashType.new(keys[0], keys[1], size_t)
348
348
  when 4
349
- Puppet::Pops::Types::PHashType.new(keys[0], keys[1], collection_size_t(1, keys[2], keys[3]))
349
+ Types::PHashType.new(keys[0], keys[1], collection_size_t(1, keys[2], keys[3]))
350
350
  else
351
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic, {
351
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic, {
352
352
  :base_type => 'Hash-Type', :min => 2, :max => 4, :actual => keys.size
353
353
  })
354
354
  end
@@ -363,10 +363,10 @@ class Puppet::Pops::Evaluator::AccessOperator
363
363
  when 2
364
364
  size_t = collection_size_t(1, keys[0], keys[1])
365
365
  else
366
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic,
366
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic,
367
367
  {:base_type => 'Collection-Type', :min => 1, :max => 2, :actual => keys.size})
368
368
  end
369
- Puppet::Pops::Types::PCollectionType.new(size_t)
369
+ Types::PCollectionType.new(size_t)
370
370
  end
371
371
 
372
372
  # An Array can create a new Array type. It is not possible to create a collection of Array types.
@@ -381,25 +381,25 @@ class Puppet::Pops::Evaluator::AccessOperator
381
381
  when 3
382
382
  size_t = collection_size_t(1, keys[1], keys[2])
383
383
  else
384
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, @semantic,
384
+ fail(Issues::BAD_TYPE_SLICE_ARITY, @semantic,
385
385
  {:base_type => 'Array-Type', :min => 1, :max => 3, :actual => keys.size})
386
386
  end
387
- unless keys[0].is_a?(Puppet::Pops::Types::PAnyType)
388
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[0], {:base_type => 'Array-Type', :actual => keys[0].class})
387
+ unless keys[0].is_a?(Types::PAnyType)
388
+ fail(Issues::BAD_TYPE_SLICE_TYPE, @semantic.keys[0], {:base_type => 'Array-Type', :actual => keys[0].class})
389
389
  end
390
- Puppet::Pops::Types::PArrayType.new(keys[0], size_t)
390
+ Types::PArrayType.new(keys[0], size_t)
391
391
  end
392
392
 
393
393
  # Produces an PIntegerType (range) given one or two keys.
394
394
  def collection_size_t(start_index, *keys)
395
- if keys.size == 1 && keys[0].is_a?(Puppet::Pops::Types::PIntegerType)
395
+ if keys.size == 1 && keys[0].is_a?(Types::PIntegerType)
396
396
  keys[0]
397
397
  else
398
398
  keys.each_with_index do |x, index|
399
- fail(Puppet::Pops::Issues::BAD_COLLECTION_SLICE_TYPE, @semantic.keys[start_index + index],
399
+ fail(Issues::BAD_COLLECTION_SLICE_TYPE, @semantic.keys[start_index + index],
400
400
  {:actual => x.class}) unless (x.is_a?(Integer) || x == :default)
401
401
  end
402
- Puppet::Pops::Types::PIntegerType.new(*keys)
402
+ Types::PIntegerType.new(*keys)
403
403
  end
404
404
  end
405
405
 
@@ -408,7 +408,7 @@ class Puppet::Pops::Evaluator::AccessOperator
408
408
  def access_Resource(o, scope, keys)
409
409
  # To access a Puppet::Resource as if it was a PResourceType, simply infer it, and take the type of
410
410
  # the parameterized meta type (i.e. Type[Resource[the_resource_type, the_resource_title]])
411
- t = Puppet::Pops::Types::TypeCalculator.infer(o).type
411
+ t = Types::TypeCalculator.infer(o).type
412
412
  # must map "undefined title" from resource to nil
413
413
  t.title = nil if t.title == EMPTY_STRING
414
414
  access(t, scope, *keys)
@@ -430,8 +430,8 @@ class Puppet::Pops::Evaluator::AccessOperator
430
430
  blamed = keys.size == 0 ? @semantic : @semantic.keys[0]
431
431
 
432
432
  if keys.size == 0
433
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, blamed,
434
- :base_type => Puppet::Pops::Types::TypeCalculator.new().string(o), :min => 1, :max => -1, :actual => 0)
433
+ fail(Issues::BAD_TYPE_SLICE_ARITY, blamed,
434
+ :base_type => o.to_s, :min => 1, :max => -1, :actual => 0)
435
435
  end
436
436
 
437
437
  # Must know which concrete resource type to operate on in all cases.
@@ -439,19 +439,19 @@ class Puppet::Pops::Evaluator::AccessOperator
439
439
  # type_name is LHS type_name if set, else the first given arg
440
440
  type_name = o.type_name || keys.shift
441
441
  type_name = case type_name
442
- when Puppet::Pops::Types::PResourceType
442
+ when Types::PResourceType
443
443
  type_name.type_name
444
444
  when String
445
445
  type_name.downcase
446
446
  else
447
447
  # blame given left expression if it defined the type, else the first given key expression
448
448
  blame = o.type_name.nil? ? @semantic.keys[0] : @semantic.left_expr
449
- fail(Puppet::Pops::Issues::ILLEGAL_RESOURCE_SPECIALIZATION, blame, {:actual => bad_key_type_name(type_name)})
449
+ fail(Issues::ILLEGAL_RESOURCE_SPECIALIZATION, blame, {:actual => bad_key_type_name(type_name)})
450
450
  end
451
451
 
452
452
  # type name must conform
453
- if type_name !~ Puppet::Pops::Patterns::CLASSREF
454
- fail(Puppet::Pops::Issues::ILLEGAL_CLASSREF, blamed, {:name=>type_name})
453
+ if type_name !~ Patterns::CLASSREF
454
+ fail(Issues::ILLEGAL_CLASSREF, blamed, {:name=>type_name})
455
455
  end
456
456
 
457
457
  # The result is an array if multiple titles are given, or if titles are specified with an array
@@ -467,7 +467,7 @@ class Puppet::Pops::Evaluator::AccessOperator
467
467
  # Return an empty array
468
468
  #
469
469
  if keys.empty? && keys_orig_size > 0
470
- optionally_fail(Puppet::Pops::Issues::EMPTY_RESOURCE_SPECIALIZATION, blamed)
470
+ optionally_fail(Issues::EMPTY_RESOURCE_SPECIALIZATION, blamed)
471
471
  return result_type_array ? [] : nil
472
472
  end
473
473
 
@@ -475,12 +475,12 @@ class Puppet::Pops::Evaluator::AccessOperator
475
475
  # lookup resource and return one or more parameter values
476
476
  resource = find_resource(scope, o.type_name, o.title)
477
477
  unless resource
478
- fail(Puppet::Pops::Issues::UNKNOWN_RESOURCE, @semantic, {:type_name => o.type_name, :title => o.title})
478
+ fail(Issues::UNKNOWN_RESOURCE, @semantic, {:type_name => o.type_name, :title => o.title})
479
479
  end
480
480
 
481
481
  result = keys.map do |k|
482
482
  unless is_parameter_of_resource?(scope, resource, k)
483
- fail(Puppet::Pops::Issues::UNKNOWN_RESOURCE_PARAMETER, @semantic,
483
+ fail(Issues::UNKNOWN_RESOURCE_PARAMETER, @semantic,
484
484
  {:type_name => o.type_name, :title => o.title, :param_name=>k})
485
485
  end
486
486
  get_resource_parameter_value(scope, resource, k)
@@ -493,13 +493,13 @@ class Puppet::Pops::Evaluator::AccessOperator
493
493
  result = keys.each_with_index.map do |t, i|
494
494
  unless t.is_a?(String) || t == :no_title
495
495
  index = keys_orig_size != keys.size ? i+1 : i
496
- fail(Puppet::Pops::Issues::BAD_TYPE_SPECIALIZATION, @semantic.keys[index], {
496
+ fail(Issues::BAD_TYPE_SPECIALIZATION, @semantic.keys[index], {
497
497
  :type => o,
498
498
  :message => "Cannot use #{bad_key_type_name(t)} where a resource title String is expected"
499
499
  })
500
500
  end
501
501
 
502
- Puppet::Pops::Types::PResourceType.new(type_name, t == :no_title ? nil : t)
502
+ Types::PResourceType.new(type_name, t == :no_title ? nil : t)
503
503
  end
504
504
  # returns single type if request was for a single entity, else an array of types (possibly empty)
505
505
  return result_type_array ? result : result.pop
@@ -510,8 +510,8 @@ class Puppet::Pops::Evaluator::AccessOperator
510
510
  keys_orig_size = keys.size
511
511
 
512
512
  if keys_orig_size == 0
513
- fail(Puppet::Pops::Issues::BAD_TYPE_SLICE_ARITY, blamed,
514
- :base_type => Puppet::Pops::Types::TypeCalculator.new().string(o), :min => 1, :max => -1, :actual => 0)
513
+ fail(Issues::BAD_TYPE_SLICE_ARITY, blamed,
514
+ :base_type => o.to_s, :min => 1, :max => -1, :actual => 0)
515
515
  end
516
516
 
517
517
  # The result is an array if multiple classnames are given, or if classnames are specified with an array
@@ -526,7 +526,7 @@ class Puppet::Pops::Evaluator::AccessOperator
526
526
  # Return an empty array
527
527
  #
528
528
  if keys.empty? && keys_orig_size > 0
529
- optionally_fail(Puppet::Pops::Issues::EMPTY_RESOURCE_SPECIALIZATION, blamed)
529
+ optionally_fail(Issues::EMPTY_RESOURCE_SPECIALIZATION, blamed)
530
530
  return result_type_array ? [] : nil
531
531
  end
532
532
 
@@ -536,18 +536,18 @@ class Puppet::Pops::Evaluator::AccessOperator
536
536
  # does not have a title. This should probably be deprecated.
537
537
  #
538
538
  result = keys.each_with_index.map do |c, i|
539
- name = if c.is_a?(Puppet::Pops::Types::PResourceType) && !c.type_name.nil? && c.title.nil?
539
+ name = if c.is_a?(Types::PResourceType) && !c.type_name.nil? && c.title.nil?
540
540
  # type_name is already downcase. Don't waste time trying to downcase again
541
541
  c.type_name
542
542
  elsif c.is_a?(String)
543
543
  c.downcase
544
544
  else
545
- fail(Puppet::Pops::Issues::ILLEGAL_HOSTCLASS_NAME, @semantic.keys[i], {:name => c})
545
+ fail(Issues::ILLEGAL_HOSTCLASS_NAME, @semantic.keys[i], {:name => c})
546
546
  end
547
547
 
548
- if name =~ Puppet::Pops::Patterns::NAME
548
+ if name =~ Patterns::NAME
549
549
  # Remove leading '::' since all references are global, and 3x runtime does the wrong thing
550
- Puppet::Pops::Types::PHostClassType.new(name.sub(/^::/, EMPTY_STRING))
550
+ Types::PHostClassType.new(name.sub(/^::/, EMPTY_STRING))
551
551
  else
552
552
  fail(Issues::ILLEGAL_NAME, @semantic.keys[i], {:name=>c})
553
553
  end
@@ -560,12 +560,12 @@ class Puppet::Pops::Evaluator::AccessOperator
560
560
  if is_parameter_of_resource?(scope, resource, k)
561
561
  get_resource_parameter_value(scope, resource, k)
562
562
  else
563
- fail(Puppet::Pops::Issues::UNKNOWN_RESOURCE_PARAMETER, @semantic,
563
+ fail(Issues::UNKNOWN_RESOURCE_PARAMETER, @semantic,
564
564
  {:type_name => 'Class', :title => o.class_name, :param_name=>k})
565
565
  end
566
566
  end
567
567
  else
568
- fail(Puppet::Pops::Issues::UNKNOWN_RESOURCE, @semantic, {:type_name => 'Class', :title => o.class_name})
568
+ fail(Issues::UNKNOWN_RESOURCE, @semantic, {:type_name => 'Class', :title => o.class_name})
569
569
  end
570
570
  end
571
571
 
@@ -573,3 +573,5 @@ class Puppet::Pops::Evaluator::AccessOperator
573
573
  return result_type_array ? result : result.pop
574
574
  end
575
575
  end
576
+ end
577
+ end