puppet 4.8.2-x86-mingw32 → 4.9.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +15 -0
- data/CONTRIBUTING.md +25 -1
- data/Gemfile +6 -0
- data/Rakefile +1 -0
- data/ext/project_data.yaml +5 -1
- data/ext/windows/service/daemon.rb +2 -1
- data/install.rb +43 -6
- data/lib/hiera/puppet_function.rb +15 -17
- data/lib/hiera/scope.rb +12 -14
- data/lib/puppet.rb +52 -0
- data/lib/puppet/application/face_base.rb +4 -0
- data/lib/puppet/application/lookup.rb +4 -2
- data/lib/puppet/application/resource.rb +1 -1
- data/lib/puppet/data_providers.rb +6 -3
- data/lib/puppet/data_providers/data_adapter.rb +6 -0
- data/lib/puppet/data_providers/data_function_support.rb +7 -0
- data/lib/puppet/data_providers/function_env_data_provider.rb +7 -0
- data/lib/puppet/data_providers/function_module_data_provider.rb +6 -0
- data/lib/puppet/data_providers/hiera_config.rb +31 -10
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +6 -0
- data/lib/puppet/data_providers/hiera_interpolate.rb +2 -1
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +6 -0
- data/lib/puppet/data_providers/hiera_support.rb +6 -0
- data/lib/puppet/data_providers/json_data_provider_factory.rb +12 -0
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +12 -0
- data/lib/puppet/defaults.rb +25 -4
- data/lib/puppet/face/ca.rb +2 -0
- data/lib/puppet/face/certificate_request.rb +2 -0
- data/lib/puppet/face/certificate_revocation_list.rb +2 -0
- data/lib/puppet/face/file.rb +3 -0
- data/lib/puppet/face/help.rb +19 -17
- data/lib/puppet/face/help/face.erb +3 -0
- data/lib/puppet/face/key.rb +1 -0
- data/lib/puppet/face/man.rb +4 -2
- data/lib/puppet/face/module/generate.rb +1 -1
- data/lib/puppet/face/status.rb +2 -0
- data/lib/puppet/feature/base.rb +9 -2
- data/lib/puppet/feature/hocon.rb +3 -0
- data/lib/puppet/file_system.rb +15 -3
- data/lib/puppet/file_system/windows.rb +8 -0
- data/lib/puppet/forge.rb +6 -6
- data/lib/puppet/forge/repository.rb +1 -2
- data/lib/puppet/functions/binary_file.rb +4 -10
- data/lib/puppet/functions/hiera_array.rb +1 -1
- data/lib/puppet/functions/hiera_include.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +24 -0
- data/lib/puppet/functions/json_data.rb +18 -0
- data/lib/puppet/functions/yaml_data.rb +21 -0
- data/lib/puppet/generate/type.rb +1 -1
- data/lib/puppet/graph/simple_graph.rb +4 -2
- data/lib/puppet/indirector/file_bucket_file/file.rb +10 -2
- data/lib/puppet/indirector/request.rb +5 -1
- data/lib/puppet/interface.rb +14 -2
- data/lib/puppet/interface/face_collection.rb +1 -1
- data/lib/puppet/module.rb +14 -2
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/module_tool/applications/builder.rb +3 -2
- data/lib/puppet/module_tool/applications/installer.rb +14 -14
- data/lib/puppet/module_tool/applications/upgrader.rb +13 -13
- data/lib/puppet/module_tool/installed_modules.rb +7 -7
- data/lib/puppet/module_tool/local_tarball.rb +3 -3
- data/lib/puppet/module_tool/metadata.rb +1 -1
- data/lib/puppet/network/http/connection.rb +2 -0
- data/lib/puppet/network/http/webrick.rb +2 -1
- data/lib/puppet/parser/functions/hiera.rb +14 -0
- data/lib/puppet/parser/functions/hiera_array.rb +14 -0
- data/lib/puppet/parser/functions/hiera_hash.rb +14 -0
- data/lib/puppet/parser/functions/hiera_include.rb +14 -0
- data/lib/puppet/parser/scope.rb +14 -20
- data/lib/puppet/plugins/data_providers.rb +2 -0
- data/lib/puppet/plugins/data_providers/data_provider.rb +108 -17
- data/lib/puppet/plugins/data_providers/registry.rb +2 -36
- data/lib/puppet/pops.rb +6 -9
- data/lib/puppet/pops/adaptable.rb +0 -3
- data/lib/puppet/pops/binder/producers.rb +3 -3
- data/lib/puppet/pops/evaluator/access_operator.rb +4 -4
- data/lib/puppet/pops/evaluator/closure.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +4 -4
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +1 -1
- data/lib/puppet/pops/issues.rb +4 -0
- data/lib/puppet/pops/label_provider.rb +14 -0
- data/lib/puppet/pops/loader/loader_paths.rb +3 -1
- data/lib/puppet/pops/loader/module_loaders.rb +21 -7
- data/lib/puppet/pops/loader/typed_name.rb +0 -2
- data/lib/puppet/pops/loaders.rb +31 -12
- data/lib/puppet/pops/lookup.rb +4 -3
- data/lib/puppet/pops/lookup/configured_data_provider.rb +87 -0
- data/lib/puppet/pops/lookup/context.rb +121 -71
- data/lib/puppet/pops/lookup/data_adapter.rb +27 -0
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +55 -0
- data/lib/puppet/pops/lookup/data_hash_function_provider.rb +111 -0
- data/lib/puppet/pops/lookup/data_provider.rb +102 -0
- data/lib/puppet/pops/lookup/environment_data_provider.rb +27 -0
- data/lib/puppet/pops/lookup/explainer.rb +122 -82
- data/lib/puppet/pops/lookup/function_provider.rb +82 -0
- data/lib/puppet/pops/lookup/global_data_provider.rb +49 -0
- data/lib/puppet/pops/lookup/hiera_config.rb +601 -0
- data/lib/puppet/pops/lookup/interpolation.rb +56 -35
- data/lib/puppet/pops/lookup/invocation.rb +179 -101
- data/lib/puppet/pops/lookup/location_resolver.rb +72 -0
- data/lib/puppet/pops/lookup/lookup_adapter.rb +451 -0
- data/lib/puppet/pops/lookup/lookup_key.rb +99 -0
- data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +119 -0
- data/lib/puppet/pops/lookup/module_data_provider.rb +58 -0
- data/lib/puppet/pops/lookup/sub_lookup.rb +8 -4
- data/lib/puppet/pops/merge_strategy.rb +120 -39
- data/lib/puppet/pops/parser/egrammar.ra +2 -0
- data/lib/puppet/pops/parser/eparser.rb +816 -808
- data/lib/puppet/pops/parser/locator.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +4 -3
- data/lib/puppet/pops/pcore.rb +21 -12
- data/lib/puppet/pops/serialization/abstract_reader.rb +17 -7
- data/lib/puppet/pops/serialization/abstract_writer.rb +27 -12
- data/lib/puppet/pops/serialization/deserializer.rb +17 -4
- data/lib/puppet/pops/serialization/extension.rb +37 -8
- data/lib/puppet/pops/serialization/object.rb +14 -6
- data/lib/puppet/pops/serialization/rgen.rb +2 -1
- data/lib/puppet/pops/serialization/serializer.rb +30 -7
- data/lib/puppet/pops/types/implementation_registry.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +55 -12
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +27 -27
- data/lib/puppet/pops/types/p_sem_ver_type.rb +12 -12
- data/lib/puppet/pops/types/p_timespan_type.rb +6 -6
- data/lib/puppet/pops/types/p_timestamp_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +7 -16
- data/lib/puppet/pops/types/recursion_guard.rb +64 -20
- data/lib/puppet/pops/types/ruby_generator.rb +10 -0
- data/lib/puppet/pops/types/type_calculator.rb +23 -13
- data/lib/puppet/pops/types/type_factory.rb +20 -9
- data/lib/puppet/pops/types/type_formatter.rb +37 -17
- data/lib/puppet/pops/types/type_mismatch_describer.rb +7 -6
- data/lib/puppet/pops/types/type_parser.rb +6 -0
- data/lib/puppet/pops/types/types.rb +225 -132
- data/lib/puppet/pops/validation.rb +1 -1
- data/lib/puppet/pops/validation/checker4_0.rb +12 -2
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/pops/visitor.rb +4 -3
- data/lib/puppet/provider/mcx/mcxcontent.rb +2 -1
- data/lib/puppet/provider/nameservice.rb +15 -0
- data/lib/puppet/provider/package/appdmg.rb +1 -1
- data/lib/puppet/provider/package/dnf.rb +1 -1
- data/lib/puppet/provider/package/pkg.rb +1 -1
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +2 -2
- data/lib/puppet/provider/service/smf.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +5 -1
- data/lib/puppet/provider/user/directoryservice.rb +1 -0
- data/lib/puppet/provider/user/user_role_add.rb +15 -0
- data/lib/puppet/provider/yumrepo/inifile.rb +2 -2
- data/lib/puppet/provider/zone/solaris.rb +4 -1
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +2 -3
- data/lib/puppet/resource/catalog.rb +12 -4
- data/lib/puppet/resource/type.rb +3 -3
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -1
- data/lib/puppet/settings/directory_setting.rb +6 -0
- data/lib/puppet/settings/environment_conf.rb +6 -2
- data/lib/puppet/settings/file_or_directory_setting.rb +6 -0
- data/lib/puppet/settings/file_setting.rb +10 -0
- data/lib/puppet/ssl/certificate_authority.rb +13 -2
- data/lib/puppet/ssl/host.rb +23 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +7 -0
- data/lib/puppet/type/user.rb +16 -3
- data/lib/puppet/util.rb +1 -0
- data/lib/puppet/util/execution.rb +3 -3
- data/lib/puppet/util/filetype.rb +11 -5
- data/lib/puppet/util/logging.rb +2 -1
- data/lib/puppet/util/network_device/config.rb +1 -1
- data/lib/puppet/util/plist.rb +6 -0
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +2 -1
- data/lib/puppet/util/windows/adsi.rb +15 -12
- data/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +2 -1
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +17 -0
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency.rb +7 -7
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/graph.rb +2 -2
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/graph_node.rb +2 -2
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +58 -0
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/source.rb +2 -2
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/unsatisfiable_graph.rb +2 -2
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/locales/config.yaml +21 -0
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/version.rb +48 -21
- data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/version_range.rb +15 -17
- data/lib/puppet/version.rb +1 -1
- data/lib/semver.rb +19 -12
- data/locales/config.yaml +29 -0
- data/locales/puppet.pot +79 -0
- data/man/man5/puppet.conf.5 +1 -1
- data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/{data.pp → environment/data.pp} +0 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +2 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +1 -1
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +5 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +9 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +23 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +5 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +1 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +1 -1
- data/spec/fixtures/unit/functions/lookup/data/common.yaml +19 -0
- data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +19 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/environment.conf +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/lib/puppet/functions/environment/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/data/empty.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_json/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/data/empty_key.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_json/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_key_yaml/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/data/empty.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/empty_yaml/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/data/first.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/hiera.yaml +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/hieraprovider/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/meta/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/meta/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/manifests/init.pp +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/metawcp/metadata.json +0 -0
- data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/no_provider/manifests/init.pp +0 -0
- data/spec/integration/application/apply_spec.rb +88 -2
- data/spec/integration/application/lookup_spec.rb +155 -0
- data/spec/integration/data_binding_spec.rb +5 -5
- data/spec/integration/defaults_spec.rb +13 -0
- data/spec/integration/environments/default_manifest_spec.rb +16 -16
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/test/test_helper_spec.rb +6 -2
- data/spec/integration/transaction_spec.rb +74 -0
- data/spec/integration/util/execution_spec.rb +8 -0
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
- data/spec/lib/puppet_spec/module_tool/stub_source.rb +1 -1
- data/spec/lib/puppet_spec/unindent.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +16 -0
- data/spec/unit/application/lookup_spec.rb +262 -227
- data/spec/unit/data_providers/{sample_data_provider_spec.rb → custom_data_provider_spec.rb} +14 -16
- data/spec/unit/data_providers/function_data_provider_spec.rb +2 -2
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +60 -97
- data/spec/unit/defaults_spec.rb +1 -1
- data/spec/unit/face/ca_spec.rb +10 -0
- data/spec/unit/face/certificate_request_spec.rb +10 -0
- data/spec/unit/face/certificate_revocation_list_spec.rb +10 -0
- data/spec/unit/face/file_spec.rb +4 -0
- data/spec/unit/face/help_spec.rb +17 -0
- data/spec/unit/face/key_spec.rb +10 -0
- data/spec/unit/face/status_spec.rb +10 -0
- data/spec/unit/file_system_spec.rb +143 -6
- data/spec/unit/functions/binary_file_spec.rb +1 -1
- data/spec/unit/functions/hiera_spec.rb +257 -47
- data/spec/unit/functions/lookup_fixture_spec.rb +693 -0
- data/spec/unit/functions/lookup_spec.rb +1319 -608
- data/spec/unit/functions/new_spec.rb +3 -3
- data/spec/unit/graph/rb_tree_map_spec.rb +1 -1
- data/spec/unit/graph/simple_graph_spec.rb +1 -1
- data/spec/unit/hiera/scope_spec.rb +4 -4
- data/spec/unit/indirector/request_spec.rb +9 -0
- data/spec/unit/interface_spec.rb +27 -0
- data/spec/unit/man_spec.rb +1 -1
- data/spec/unit/module_spec.rb +1 -1
- data/spec/unit/module_tool/applications/builder_spec.rb +16 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +1 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +1 -1
- data/spec/unit/module_tool/installed_modules_spec.rb +6 -6
- data/spec/unit/module_tool_spec.rb +3 -3
- data/spec/unit/network/http/connection_spec.rb +10 -0
- data/spec/unit/network/http/webrick_spec.rb +1 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +2 -2
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +9 -9
- data/spec/unit/pops/loaders/environment_loader_spec.rb +172 -0
- data/spec/unit/pops/lookup/context_spec.rb +45 -16
- data/spec/unit/pops/lookup/interpolation_spec.rb +28 -20
- data/spec/unit/pops/lookup/lookup_spec.rb +197 -0
- data/spec/unit/pops/merge_strategy_spec.rb +18 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +16 -1
- data/spec/unit/pops/parser/parse_site_spec.rb +4 -0
- data/spec/unit/pops/serialization/packer_spec.rb +4 -23
- data/spec/unit/pops/serialization/serialization_spec.rb +32 -8
- data/spec/unit/pops/types/p_object_type_spec.rb +68 -3
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +4 -4
- data/spec/unit/pops/types/p_type_set_type_spec.rb +31 -2
- data/spec/unit/pops/types/type_acceptor_spec.rb +18 -17
- data/spec/unit/pops/types/type_calculator_spec.rb +39 -40
- data/spec/unit/pops/types/type_factory_spec.rb +3 -3
- data/spec/unit/pops/types/type_formatter_spec.rb +7 -3
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +13 -2
- data/spec/unit/pops/types/types_spec.rb +25 -2
- data/spec/unit/pops/validator/validator_spec.rb +60 -4
- data/spec/unit/provider/nameservice_spec.rb +42 -0
- data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/pkg_spec.rb +22 -0
- data/spec/unit/provider/package/pkgng_spec.rb +12 -0
- data/spec/unit/provider/package/rpm_spec.rb +8 -8
- data/spec/unit/provider/service/smf_spec.rb +13 -11
- data/spec/unit/provider/service/systemd_spec.rb +8 -1
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/puppet_spec.rb +14 -0
- data/spec/unit/resource/catalog_spec.rb +15 -9
- data/spec/unit/resource_spec.rb +20 -17
- data/spec/unit/semver_spec.rb +14 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +12 -1
- data/spec/unit/transaction/additional_resource_generator_spec.rb +11 -0
- data/spec/unit/type/user_spec.rb +32 -6
- data/spec/unit/util/filetype_spec.rb +3 -3
- data/spec/unit/util/yaml_spec.rb +1 -1
- data/spec/unit/util_spec.rb +10 -2
- data/tasks/i18n.rake +20 -0
- metadata +2661 -2607
- data/lib/puppet/data_providers/lookup_adapter.rb +0 -254
- data/lib/puppet/vendor/load_semantic.rb +0 -1
- data/lib/puppet/vendor/semantic/Gemfile +0 -20
- data/lib/puppet/vendor/semantic/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/semantic/Rakefile +0 -69
- data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -7
- data/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +0 -60
- data/lib/puppet/vendor/semantic/spec/spec_helper.rb +0 -24
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_node_spec.rb +0 -141
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_spec.rb +0 -162
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/module_release_spec.rb +0 -143
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/source_spec.rb +0 -5
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/unsatisfiable_graph_spec.rb +0 -44
- data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency_spec.rb +0 -383
- data/lib/puppet/vendor/semantic/spec/unit/semantic/version_range_spec.rb +0 -307
- data/lib/puppet/vendor/semantic/spec/unit/semantic/version_spec.rb +0 -608
- data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +0 -6
@@ -0,0 +1,102 @@
|
|
1
|
+
module Puppet::Pops
|
2
|
+
module Lookup
|
3
|
+
# @api private
|
4
|
+
module DataProvider
|
5
|
+
def self.key_type
|
6
|
+
ensure_types_initialized
|
7
|
+
@key_type
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.value_type
|
11
|
+
ensure_types_initialized
|
12
|
+
@value_type
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.ensure_types_initialized
|
16
|
+
if @key_type.nil?
|
17
|
+
(@key_type, @value_type) = Pcore::register_aliases(
|
18
|
+
# The Pcore type for all keys and subkeys in a data hash.
|
19
|
+
'Puppet::LookupKey' => 'Variant[String,Numeric]',
|
20
|
+
|
21
|
+
# The Pcore type for all values and sub-values in a data hash. The
|
22
|
+
# type is self-recursive to enforce the same constraint on values contained
|
23
|
+
# in arrays and hashes
|
24
|
+
'Puppet::LookupValue' => <<-PUPPET
|
25
|
+
Variant[
|
26
|
+
Scalar,
|
27
|
+
Undef,
|
28
|
+
Sensitive,
|
29
|
+
Type,
|
30
|
+
Hash[Puppet::LookupKey, Puppet::LookupValue],
|
31
|
+
Array[Puppet::LookupValue]
|
32
|
+
]
|
33
|
+
PUPPET
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# Performs a lookup with an endless recursion check.
|
39
|
+
#
|
40
|
+
# @param key [LookupKey] The key to lookup
|
41
|
+
# @param lookup_invocation [Invocation] The current lookup invocation
|
42
|
+
# @param merge [MergeStrategy,String,Hash{String=>Object},nil] Merge strategy or hash with strategy and options
|
43
|
+
#
|
44
|
+
def key_lookup(key, lookup_invocation, merge)
|
45
|
+
lookup_invocation.check(key.to_s) { unchecked_key_lookup(key, lookup_invocation, merge) }
|
46
|
+
end
|
47
|
+
|
48
|
+
def lookup(key, lookup_invocation, merge)
|
49
|
+
lookup_invocation.check(key.to_s) { unchecked_key_lookup(key, lookup_invocation, merge) }
|
50
|
+
end
|
51
|
+
|
52
|
+
# Performs a lookup with the assumption that a recursive check has been made.
|
53
|
+
#
|
54
|
+
# @param key [LookupKey] The key to lookup
|
55
|
+
# @param lookup_invocation [Invocation] The current lookup invocation
|
56
|
+
# @param merge [MergeStrategy,String,Hash{String => Object},nil] Merge strategy, merge strategy name, strategy and options hash, or nil (implies "first found")
|
57
|
+
# @return [Object] the found object
|
58
|
+
# @throw :no_such_key when the object is not found
|
59
|
+
def unchecked_key_lookup(key, lookup_invocation, merge)
|
60
|
+
raise NotImplementedError, "Subclass of #{DataProvider.name} must implement 'unchecked_lookup' method"
|
61
|
+
end
|
62
|
+
|
63
|
+
# @return [String,nil] the name of the module that this provider belongs to nor `nil` if it doesn't belong to a module
|
64
|
+
def module_name
|
65
|
+
nil
|
66
|
+
end
|
67
|
+
|
68
|
+
# @return [String] the name of the this data provider
|
69
|
+
def name
|
70
|
+
raise NotImplementedError, "Subclass of #{DataProvider.name} must implement 'name' method"
|
71
|
+
end
|
72
|
+
|
73
|
+
# Asserts that _data_hash_ is a valid hash.
|
74
|
+
#
|
75
|
+
# @param data_provider [DataProvider] The data provider that produced the hash
|
76
|
+
# @param data_hash [Hash{String=>Object}] The data hash
|
77
|
+
# @return [Hash{String=>Object}] The data hash
|
78
|
+
def validate_data_hash(data_provider, data_hash)
|
79
|
+
Types::TypeAsserter.assert_instance_of(nil, Types::PHashType::DEFAULT, data_hash) { "Value returned from #{data_provider.name}" }
|
80
|
+
data_hash.each_pair { |k, v| validate_data_entry(data_provider, k, v) }
|
81
|
+
data_hash
|
82
|
+
end
|
83
|
+
|
84
|
+
def validate_data_value(data_provider, value, where = '')
|
85
|
+
Types::TypeAsserter.assert_instance_of(nil, DataProvider.value_type, value) { "Value #{where}returned from #{data_provider.name}" }
|
86
|
+
case value
|
87
|
+
when Hash
|
88
|
+
value.each_pair { |k, v| validate_data_entry(data_provider, k, v) }
|
89
|
+
when Array
|
90
|
+
value.each {|v| validate_data_value(data_provider, v, 'in array ') }
|
91
|
+
end
|
92
|
+
value
|
93
|
+
end
|
94
|
+
|
95
|
+
def validate_data_entry(data_provider, key, value)
|
96
|
+
Types::TypeAsserter.assert_instance_of(nil, DataProvider.key_type, key) { "Key in hash returned from #{data_provider.name}" }
|
97
|
+
validate_data_value(data_provider, value, 'in hash ')
|
98
|
+
nil
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require_relative 'configured_data_provider'
|
2
|
+
|
3
|
+
module Puppet::Pops
|
4
|
+
module Lookup
|
5
|
+
# @api private
|
6
|
+
class EnvironmentDataProvider < ConfiguredDataProvider
|
7
|
+
def place
|
8
|
+
'Environment'
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def assert_config_version(config)
|
14
|
+
raise Puppet::DataBinding::LookupError, "#{config.name} cannot be used in an environment" unless config.version > 3
|
15
|
+
config
|
16
|
+
end
|
17
|
+
|
18
|
+
# Return the root of the environment
|
19
|
+
#
|
20
|
+
# @param lookup_invocation [Invocation] The current lookup invocation
|
21
|
+
# @return [Pathname] Path to root of the environment
|
22
|
+
def provider_root(lookup_invocation)
|
23
|
+
Pathname.new(lookup_invocation.scope.environment.configuration.path_to_env)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
|
-
module Puppet::Pops
|
1
|
+
module Puppet::Pops
|
2
|
+
module Lookup
|
2
3
|
|
3
4
|
# The ExplainNode contains information of a specific node in a tree traversed during
|
4
5
|
# lookup. The tree can be traversed using the `parent` and `branches` attributes of
|
@@ -17,13 +18,33 @@ module Puppet::Pops::Lookup
|
|
17
18
|
hash
|
18
19
|
end
|
19
20
|
|
20
|
-
def
|
21
|
+
def explain
|
21
22
|
io = ''
|
22
23
|
dump_on(io, '', '')
|
23
24
|
io
|
24
25
|
end
|
25
26
|
|
27
|
+
def inspect
|
28
|
+
to_s
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_s
|
32
|
+
s = self.class.name
|
33
|
+
s = "#{s} with #{@branches.size} branches" unless @branches.nil?
|
34
|
+
s
|
35
|
+
end
|
36
|
+
|
37
|
+
def text(text)
|
38
|
+
@texts ||= []
|
39
|
+
@texts << text
|
40
|
+
end
|
41
|
+
|
26
42
|
def dump_on(io, indent, first_indent)
|
43
|
+
dump_texts(io, indent)
|
44
|
+
end
|
45
|
+
|
46
|
+
def dump_texts(io, indent)
|
47
|
+
@texts.each { |text| io << indent << text << "\n" } if instance_variable_defined?(:@texts)
|
27
48
|
end
|
28
49
|
end
|
29
50
|
|
@@ -34,23 +55,22 @@ module Puppet::Pops::Lookup
|
|
34
55
|
def initialize(parent)
|
35
56
|
@parent = parent
|
36
57
|
@event = nil
|
37
|
-
@texts = nil
|
38
58
|
end
|
39
59
|
|
40
60
|
def found_in_overrides(key, value)
|
41
|
-
@key = key
|
61
|
+
@key = key.to_s
|
42
62
|
@value = value
|
43
63
|
@event = :found_in_overrides
|
44
64
|
end
|
45
65
|
|
46
66
|
def found_in_defaults(key, value)
|
47
|
-
@key = key
|
67
|
+
@key = key.to_s
|
48
68
|
@value = value
|
49
69
|
@event = :found_in_defaults
|
50
70
|
end
|
51
71
|
|
52
72
|
def found(key, value)
|
53
|
-
@key = key
|
73
|
+
@key = key.to_s
|
54
74
|
@value = value
|
55
75
|
@event = :found
|
56
76
|
end
|
@@ -60,22 +80,13 @@ module Puppet::Pops::Lookup
|
|
60
80
|
@event = :result
|
61
81
|
end
|
62
82
|
|
63
|
-
def text(text)
|
64
|
-
@texts ||= []
|
65
|
-
@texts << text
|
66
|
-
end
|
67
|
-
|
68
83
|
def not_found(key)
|
69
|
-
@key = key
|
84
|
+
@key = key.to_s
|
70
85
|
@event = :not_found
|
71
86
|
end
|
72
87
|
|
73
|
-
def
|
74
|
-
@event = :
|
75
|
-
end
|
76
|
-
|
77
|
-
def module_not_found
|
78
|
-
@event = :module_not_found
|
88
|
+
def location_not_found
|
89
|
+
@event = :location_not_found
|
79
90
|
end
|
80
91
|
|
81
92
|
def increase_indent(indent)
|
@@ -97,19 +108,17 @@ module Puppet::Pops::Lookup
|
|
97
108
|
end
|
98
109
|
|
99
110
|
def dump_outcome(io, indent)
|
100
|
-
|
101
|
-
|
111
|
+
case @event
|
112
|
+
when :not_found
|
113
|
+
io << indent << 'No such key: "' << @key << "\"\n"
|
114
|
+
when :found, :found_in_overrides, :found_in_defaults
|
102
115
|
io << indent << 'Found key: "' << @key << '" value: '
|
103
116
|
dump_value(io, indent, @value)
|
104
117
|
io << ' in overrides' if @event == :found_in_overrides
|
105
118
|
io << ' in defaults' if @event == :found_in_defaults
|
106
119
|
io << "\n"
|
107
120
|
end
|
108
|
-
dump_texts(io, indent
|
109
|
-
end
|
110
|
-
|
111
|
-
def dump_texts(io, indent, texts)
|
112
|
-
texts.each { |text| io << indent << text << "\n" } unless texts.nil?
|
121
|
+
dump_texts(io, indent)
|
113
122
|
end
|
114
123
|
|
115
124
|
def dump_value(io, indent, value)
|
@@ -144,13 +153,17 @@ module Puppet::Pops::Lookup
|
|
144
153
|
io << value.inspect
|
145
154
|
end
|
146
155
|
end
|
156
|
+
|
157
|
+
def to_s
|
158
|
+
"#{self.class.name}: #{@key}, #{@event}"
|
159
|
+
end
|
147
160
|
end
|
148
161
|
|
149
162
|
class ExplainTop < ExplainTreeNode
|
150
163
|
def initialize(parent, type, key)
|
151
164
|
super(parent)
|
152
165
|
@type = type
|
153
|
-
self.key = key
|
166
|
+
self.key = key.to_s
|
154
167
|
end
|
155
168
|
|
156
169
|
def dump_on(io, indent, first_indent)
|
@@ -163,7 +176,7 @@ module Puppet::Pops::Lookup
|
|
163
176
|
class ExplainInvalidKey < ExplainTreeNode
|
164
177
|
def initialize(parent, key)
|
165
178
|
super(parent)
|
166
|
-
@key = key
|
179
|
+
@key = key.to_s
|
167
180
|
end
|
168
181
|
|
169
182
|
def dump_on(io, indent, first_indent)
|
@@ -195,6 +208,34 @@ module Puppet::Pops::Lookup
|
|
195
208
|
end
|
196
209
|
end
|
197
210
|
|
211
|
+
class ExplainModule < ExplainTreeNode
|
212
|
+
def initialize(parent, module_name)
|
213
|
+
super(parent)
|
214
|
+
@module_name = module_name
|
215
|
+
end
|
216
|
+
|
217
|
+
def dump_on(io, indent, first_indent)
|
218
|
+
case @event
|
219
|
+
when :module_not_found
|
220
|
+
io << indent << 'Module "' << @module_name << "\" not found\n"
|
221
|
+
when :module_provider_not_found
|
222
|
+
io << indent << 'Module data provider for module "' << @module_name << "\" not found\n"
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
def module_not_found
|
227
|
+
@event = :module_not_found
|
228
|
+
end
|
229
|
+
|
230
|
+
def module_provider_not_found
|
231
|
+
@event = :module_provider_not_found
|
232
|
+
end
|
233
|
+
|
234
|
+
def type
|
235
|
+
:module
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
198
239
|
class ExplainInterpolate < ExplainTreeNode
|
199
240
|
def initialize(parent, expression)
|
200
241
|
super(parent)
|
@@ -269,39 +310,6 @@ module Puppet::Pops::Lookup
|
|
269
310
|
end
|
270
311
|
end
|
271
312
|
|
272
|
-
class ExplainModule < ExplainTreeNode
|
273
|
-
def initialize(parent, mod)
|
274
|
-
super(parent)
|
275
|
-
@module = mod
|
276
|
-
end
|
277
|
-
|
278
|
-
def dump_on(io, indent, first_indent)
|
279
|
-
io << indent << 'Module "' << @module << '"'
|
280
|
-
if branches.size == 1
|
281
|
-
branches[0].dump_on(io, indent, ' using ')
|
282
|
-
else
|
283
|
-
io << "\n"
|
284
|
-
indent = increase_indent(indent)
|
285
|
-
branches.each {|b| b.dump_on(io, indent, indent)}
|
286
|
-
end
|
287
|
-
io << indent << "Module not found\n" if @event == :module_not_found
|
288
|
-
end
|
289
|
-
|
290
|
-
def to_hash
|
291
|
-
if branches.size == 1
|
292
|
-
branches[0].to_hash.merge(:module => @module)
|
293
|
-
else
|
294
|
-
hash = super
|
295
|
-
hash[:module] = @module
|
296
|
-
hash
|
297
|
-
end
|
298
|
-
end
|
299
|
-
|
300
|
-
def type
|
301
|
-
:module
|
302
|
-
end
|
303
|
-
end
|
304
|
-
|
305
313
|
class ExplainGlobal < ExplainTreeNode
|
306
314
|
def initialize(parent, binding_terminus)
|
307
315
|
super(parent)
|
@@ -333,9 +341,12 @@ module Puppet::Pops::Lookup
|
|
333
341
|
end
|
334
342
|
|
335
343
|
def dump_on(io, indent, first_indent)
|
336
|
-
io << first_indent <<
|
344
|
+
io << first_indent << @provider.name << "\n"
|
337
345
|
indent = increase_indent(indent)
|
338
|
-
|
346
|
+
if @provider.respond_to?(:config_path)
|
347
|
+
path = @provider.config_path
|
348
|
+
io << indent << 'Using configuration "' << path.to_s << "\"\n" unless path.nil?
|
349
|
+
end
|
339
350
|
branches.each {|b| b.dump_on(io, indent, indent)}
|
340
351
|
dump_outcome(io, indent)
|
341
352
|
end
|
@@ -343,7 +354,11 @@ module Puppet::Pops::Lookup
|
|
343
354
|
def to_hash
|
344
355
|
hash = super
|
345
356
|
hash[:name] = @provider.name
|
346
|
-
|
357
|
+
if @provider.respond_to?(:config_path)
|
358
|
+
path = @provider.config_path
|
359
|
+
hash[:configuration_path] = path.to_s unless path.nil?
|
360
|
+
end
|
361
|
+
hash[:module] = @provider.module_name if @provider.is_a?(ModuleDataProvider)
|
347
362
|
hash
|
348
363
|
end
|
349
364
|
|
@@ -352,30 +367,38 @@ module Puppet::Pops::Lookup
|
|
352
367
|
end
|
353
368
|
end
|
354
369
|
|
355
|
-
class
|
356
|
-
def initialize(parent,
|
370
|
+
class ExplainLocation < ExplainTreeNode
|
371
|
+
def initialize(parent, location)
|
357
372
|
super(parent)
|
358
|
-
@
|
373
|
+
@location = location
|
359
374
|
end
|
360
375
|
|
361
376
|
def dump_on(io, indent, first_indent)
|
362
|
-
|
377
|
+
location = @location.location
|
378
|
+
type_name = type == :path ? 'Path' : 'URI'
|
379
|
+
io << indent << type_name << ' "' << location.to_s << "\"\n"
|
363
380
|
indent = increase_indent(indent)
|
364
|
-
io << indent << 'Original
|
381
|
+
io << indent << 'Original ' << type_name.downcase << ': "' << @location.original_location << "\"\n"
|
365
382
|
branches.each {|b| b.dump_on(io, indent, indent)}
|
366
|
-
io << indent << "
|
383
|
+
io << indent << type_name << " not found\n" if @event == :location_not_found
|
367
384
|
dump_outcome(io, indent)
|
368
385
|
end
|
369
386
|
|
370
387
|
def to_hash
|
371
388
|
hash = super
|
372
|
-
|
373
|
-
|
389
|
+
location = @location.location
|
390
|
+
if type == :path
|
391
|
+
hash[:original_path] = @location.original_location
|
392
|
+
hash[:path] = location.to_s
|
393
|
+
else
|
394
|
+
hash[:original_uri] = @location.original_location
|
395
|
+
hash[:uri] = location.to_s
|
396
|
+
end
|
374
397
|
hash
|
375
398
|
end
|
376
399
|
|
377
400
|
def type
|
378
|
-
:path
|
401
|
+
@location.location.is_a?(Pathname) ? :path : :uri
|
379
402
|
end
|
380
403
|
end
|
381
404
|
|
@@ -413,16 +436,23 @@ module Puppet::Pops::Lookup
|
|
413
436
|
end
|
414
437
|
|
415
438
|
class ExplainScope < ExplainTreeNode
|
416
|
-
def initialize(parent)
|
439
|
+
def initialize(parent, name)
|
417
440
|
super(parent)
|
441
|
+
@name = name
|
418
442
|
end
|
419
443
|
|
420
444
|
def dump_on(io, indent, first_indent)
|
421
|
-
io << indent <<
|
445
|
+
io << indent << @name << "\n"
|
422
446
|
indent = increase_indent(indent)
|
423
447
|
dump_outcome(io, indent)
|
424
448
|
end
|
425
449
|
|
450
|
+
def to_hash
|
451
|
+
hash = super
|
452
|
+
hash[:name] = @name
|
453
|
+
hash
|
454
|
+
end
|
455
|
+
|
426
456
|
def type
|
427
457
|
:scope
|
428
458
|
end
|
@@ -439,18 +469,18 @@ module Puppet::Pops::Lookup
|
|
439
469
|
node = case (qualifier_type)
|
440
470
|
when :global
|
441
471
|
ExplainGlobal.new(@current, qualifier)
|
442
|
-
when :
|
443
|
-
|
444
|
-
when :module
|
445
|
-
ExplainModule.new(@current, qualifier)
|
472
|
+
when :location
|
473
|
+
ExplainLocation.new(@current, qualifier)
|
446
474
|
when :interpolate
|
447
475
|
ExplainInterpolate.new(@current, qualifier)
|
448
476
|
when :data_provider
|
449
477
|
ExplainDataProvider.new(@current, qualifier)
|
450
478
|
when :merge
|
451
479
|
ExplainMerge.new(@current, qualifier)
|
480
|
+
when :module
|
481
|
+
ExplainModule.new(@current, qualifier)
|
452
482
|
when :scope
|
453
|
-
ExplainScope.new(@current)
|
483
|
+
ExplainScope.new(@current, qualifier)
|
454
484
|
when :sub_lookup
|
455
485
|
ExplainSubLookup.new(@current, qualifier)
|
456
486
|
when :segment
|
@@ -498,12 +528,20 @@ module Puppet::Pops::Lookup
|
|
498
528
|
@current.not_found(key)
|
499
529
|
end
|
500
530
|
|
501
|
-
def
|
502
|
-
@current.
|
531
|
+
def accept_location_not_found
|
532
|
+
@current.location_not_found
|
503
533
|
end
|
504
534
|
|
505
|
-
def accept_module_not_found
|
535
|
+
def accept_module_not_found(module_name)
|
536
|
+
push(:module, module_name)
|
506
537
|
@current.module_not_found
|
538
|
+
pop
|
539
|
+
end
|
540
|
+
|
541
|
+
def accept_module_provider_not_found(module_name)
|
542
|
+
push(:module, module_name)
|
543
|
+
@current.module_provider_not_found
|
544
|
+
pop
|
507
545
|
end
|
508
546
|
|
509
547
|
def accept_result(result)
|
@@ -516,6 +554,7 @@ module Puppet::Pops::Lookup
|
|
516
554
|
|
517
555
|
def dump_on(io, indent, first_indent)
|
518
556
|
branches.each { |b| b.dump_on(io, indent, first_indent) }
|
557
|
+
dump_texts(io, indent)
|
519
558
|
end
|
520
559
|
|
521
560
|
def to_hash
|
@@ -551,3 +590,4 @@ module Puppet::Pops::Lookup
|
|
551
590
|
end
|
552
591
|
end
|
553
592
|
end
|
593
|
+
end
|