puppet 3.4.3 → 3.5.0.rc1
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.
- data/CONTRIBUTING.md +6 -6
- data/Gemfile +22 -16
- data/LICENSE +1 -1
- data/README.md +33 -11
- data/Rakefile +1 -1
- data/conf/auth.conf +4 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/debian/control +6 -6
- data/ext/ips/transforms +1 -1
- data/ext/nagios/naggen +1 -1
- data/ext/project_data.yaml +21 -1
- data/ext/puppet-test +3 -3
- data/ext/redhat/puppet.spec.erb +28 -2
- data/ext/suse/puppet.spec +1 -1
- data/ext/upload_facts.rb +1 -1
- data/ext/windows/service/daemon.rb +99 -20
- data/lib/hiera_puppet.rb +2 -2
- data/lib/puppet.rb +68 -5
- data/lib/puppet/agent.rb +5 -1
- data/lib/puppet/application.rb +20 -11
- data/lib/puppet/application/agent.rb +1 -1
- data/lib/puppet/application/apply.rb +61 -41
- data/lib/puppet/application/cert.rb +3 -3
- data/lib/puppet/application/device.rb +7 -8
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +3 -3
- data/lib/puppet/application/kick.rb +2 -2
- data/lib/puppet/application/master.rb +1 -1
- data/lib/puppet/application/queue.rb +9 -9
- data/lib/puppet/application/resource.rb +2 -2
- data/lib/puppet/bindings.rb +6 -6
- data/lib/puppet/configurer.rb +17 -14
- data/lib/puppet/configurer/fact_handler.rb +1 -1
- data/lib/puppet/confine/any.rb +26 -0
- data/lib/puppet/confine/exists.rb +1 -1
- data/lib/puppet/confiner.rb +1 -0
- data/lib/puppet/context.rb +55 -0
- data/lib/puppet/context/trusted_information.rb +56 -0
- data/lib/puppet/defaults.rb +97 -26
- data/lib/puppet/environments.rb +187 -0
- data/lib/puppet/error.rb +2 -1
- data/lib/puppet/external/pson/common.rb +1 -1
- data/lib/puppet/external/pson/pure/generator.rb +1 -1
- data/lib/puppet/external/pson/pure/parser.rb +1 -1
- data/lib/puppet/face/config.rb +73 -15
- data/lib/puppet/face/file/store.rb +1 -1
- data/lib/puppet/face/help.rb +2 -1
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/help/global.erb +1 -0
- data/lib/puppet/face/help/man.erb +9 -8
- data/lib/puppet/face/module/list.rb +13 -7
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/parser.rb +11 -5
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/external_facts.rb +2 -2
- data/lib/puppet/feature/libuser.rb +1 -1
- data/lib/puppet/feature/msgpack.rb +2 -0
- data/lib/puppet/feature/rails.rb +2 -2
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +9 -5
- data/lib/puppet/file_serving/base.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +1 -1
- data/lib/puppet/file_serving/configuration/parser.rb +3 -3
- data/lib/puppet/file_serving/content.rb +2 -2
- data/lib/puppet/file_serving/fileset.rb +4 -4
- data/lib/puppet/file_serving/metadata.rb +69 -15
- data/lib/puppet/file_serving/mount/file.rb +1 -1
- data/lib/puppet/file_system.rb +361 -1
- data/lib/puppet/file_system/file18.rb +3 -3
- data/lib/puppet/file_system/file19.rb +3 -3
- data/lib/puppet/file_system/file19windows.rb +18 -23
- data/lib/puppet/file_system/file_impl.rb +145 -0
- data/lib/puppet/file_system/memory_file.rb +23 -9
- data/lib/puppet/file_system/memory_impl.rb +64 -0
- data/lib/puppet/forge.rb +4 -3
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/graph/relationship_graph.rb +7 -7
- data/lib/puppet/indirector.rb +1 -0
- data/lib/puppet/indirector/catalog/compiler.rb +3 -30
- data/lib/puppet/indirector/catalog/msgpack.rb +6 -0
- data/lib/puppet/indirector/catalog/static_compiler.rb +3 -7
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
- data/lib/puppet/indirector/direct_file_server.rb +2 -2
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/face.rb +3 -2
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +25 -15
- data/lib/puppet/indirector/file_metadata/file.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/key/file.rb +8 -5
- data/lib/puppet/indirector/ldap.rb +1 -1
- data/lib/puppet/indirector/memory.rb +4 -0
- data/lib/puppet/indirector/msgpack.rb +82 -0
- data/lib/puppet/indirector/node/exec.rb +1 -1
- data/lib/puppet/indirector/node/ldap.rb +3 -3
- data/lib/puppet/indirector/node/msgpack.rb +7 -0
- data/lib/puppet/indirector/node/yaml.rb +15 -0
- data/lib/puppet/indirector/queue.rb +3 -2
- data/lib/puppet/indirector/report/msgpack.rb +11 -0
- data/lib/puppet/indirector/request.rb +17 -20
- data/lib/puppet/indirector/resource/rest.rb +1 -1
- data/lib/puppet/indirector/resource_type/parser.rb +3 -13
- data/lib/puppet/indirector/rest.rb +6 -7
- data/lib/puppet/indirector/ssl_file.rb +7 -7
- data/lib/puppet/indirector/yaml.rb +9 -13
- data/lib/puppet/metatype/manager.rb +12 -7
- data/lib/puppet/module.rb +14 -9
- data/lib/puppet/module_tool.rb +21 -26
- data/lib/puppet/module_tool/applications/application.rb +1 -1
- data/lib/puppet/module_tool/applications/generator.rb +2 -1
- data/lib/puppet/module_tool/applications/installer.rb +9 -4
- data/lib/puppet/module_tool/applications/uninstaller.rb +10 -7
- data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +11 -8
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +2 -0
- data/lib/puppet/module_tool/dependency.rb +4 -5
- data/lib/puppet/module_tool/errors.rb +2 -0
- data/lib/puppet/module_tool/install_directory.rb +3 -0
- data/lib/puppet/module_tool/metadata.rb +3 -5
- data/lib/puppet/module_tool/modulefile.rb +3 -0
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -1
- data/lib/puppet/module_tool/skeleton.rb +3 -0
- data/lib/puppet/module_tool/tar.rb +3 -0
- data/lib/puppet/network/auth_config_parser.rb +1 -1
- data/lib/puppet/network/authconfig.rb +5 -2
- data/lib/puppet/network/authentication.rb +7 -2
- data/lib/puppet/network/authorization.rb +2 -2
- data/lib/puppet/network/format_support.rb +4 -0
- data/lib/puppet/network/formats.rb +9 -14
- data/lib/puppet/network/http.rb +11 -0
- data/lib/puppet/network/http/api.rb +0 -2
- data/lib/puppet/network/http/api/v1.rb +146 -11
- data/lib/puppet/network/http/api/v2.rb +32 -0
- data/lib/puppet/network/http/api/v2/authorization.rb +13 -0
- data/lib/puppet/network/http/api/v2/environments.rb +21 -0
- data/lib/puppet/network/http/connection.rb +94 -37
- data/lib/puppet/network/http/error.rb +69 -0
- data/lib/puppet/network/http/handler.rb +28 -196
- data/lib/puppet/network/http/issues.rb +9 -0
- data/lib/puppet/network/http/memory_response.rb +13 -0
- data/lib/puppet/network/http/rack/rest.rb +10 -18
- data/lib/puppet/network/http/request.rb +56 -0
- data/lib/puppet/network/http/response.rb +11 -0
- data/lib/puppet/network/http/route.rb +91 -0
- data/lib/puppet/network/http/webrick.rb +1 -1
- data/lib/puppet/network/http/webrick/rest.rb +7 -12
- data/lib/puppet/network/http_pool.rb +3 -3
- data/lib/puppet/network/rights.rb +4 -4
- data/lib/puppet/node.rb +23 -14
- data/lib/puppet/node/environment.rb +149 -125
- data/lib/puppet/node/facts.rb +6 -5
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast.rb +1 -1
- data/lib/puppet/parser/ast/block_expression.rb +1 -6
- data/lib/puppet/parser/ast/collexpr.rb +54 -2
- data/lib/puppet/parser/ast/lambda.rb +9 -0
- data/lib/puppet/parser/ast/leaf.rb +15 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +168 -0
- data/lib/puppet/parser/code_merger.rb +13 -0
- data/lib/puppet/parser/collector.rb +1 -1
- data/lib/puppet/parser/compiler.rb +28 -30
- data/lib/puppet/parser/e4_parser_adapter.rb +81 -0
- data/lib/puppet/parser/e_parser_adapter.rb +0 -1
- data/lib/puppet/parser/files.rb +12 -7
- data/lib/puppet/parser/functions.rb +36 -29
- data/lib/puppet/parser/functions/collect.rb +1 -1
- data/lib/puppet/parser/functions/defined.rb +40 -16
- data/lib/puppet/parser/functions/each.rb +55 -41
- data/lib/puppet/parser/functions/epp.rb +41 -0
- data/lib/puppet/parser/functions/extlookup.rb +2 -2
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +68 -16
- data/lib/puppet/parser/functions/generate.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +3 -2
- data/lib/puppet/parser/functions/inline_epp.rb +79 -0
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +127 -27
- data/lib/puppet/parser/functions/map.rb +64 -12
- data/lib/puppet/parser/functions/reduce.rb +40 -16
- data/lib/puppet/parser/functions/select.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +42 -23
- data/lib/puppet/parser/grammar.ra +3 -0
- data/lib/puppet/parser/lexer.rb +10 -9
- data/lib/puppet/parser/parser.rb +15 -12
- data/lib/puppet/parser/parser_factory.rb +26 -1
- data/lib/puppet/parser/parser_support.rb +13 -4
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/scope.rb +246 -97
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +13 -2
- data/lib/puppet/pops.rb +15 -1
- data/lib/puppet/pops/adapters.rb +64 -32
- data/lib/puppet/pops/binder/binder.rb +122 -150
- data/lib/puppet/pops/binder/binder_issues.rb +1 -21
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -20
- data/lib/puppet/pops/binder/bindings_composer.rb +4 -70
- data/lib/puppet/pops/binder/bindings_factory.rb +16 -58
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -3
- data/lib/puppet/pops/binder/bindings_loader.rb +13 -4
- data/lib/puppet/pops/binder/bindings_model.rb +17 -31
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +2 -20
- data/lib/puppet/pops/binder/config/binder_config.rb +8 -40
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +2 -43
- data/lib/puppet/pops/binder/config/issues.rb +1 -21
- data/lib/puppet/pops/binder/injector.rb +86 -7
- data/lib/puppet/pops/binder/injector_entry.rb +6 -2
- data/lib/puppet/pops/binder/key_factory.rb +7 -1
- data/lib/puppet/pops/binder/lookup.rb +191 -0
- data/lib/puppet/pops/binder/producers.rb +5 -5
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +2 -3
- data/lib/puppet/pops/binder/system_bindings.rb +4 -16
- data/lib/puppet/pops/containment.rb +72 -5
- data/lib/puppet/pops/evaluator/access_operator.rb +548 -0
- data/lib/puppet/pops/evaluator/closure.rb +57 -0
- data/lib/puppet/pops/evaluator/compare_operator.rb +168 -0
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +87 -0
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +1069 -0
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +49 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +156 -0
- data/lib/puppet/pops/evaluator/runtime3_support.rb +489 -0
- data/lib/puppet/pops/issue_reporter.rb +8 -4
- data/lib/puppet/pops/issues.rb +199 -4
- data/lib/puppet/pops/label_provider.rb +5 -0
- data/lib/puppet/pops/model/ast_transformer.rb +55 -31
- data/lib/puppet/pops/model/ast_tree_dumper.rb +9 -1
- data/lib/puppet/pops/model/factory.rb +265 -111
- data/lib/puppet/pops/model/model.rb +179 -140
- data/lib/puppet/pops/model/model_label_provider.rb +38 -9
- data/lib/puppet/pops/model/model_tree_dumper.rb +38 -13
- data/lib/puppet/pops/parser/code_merger.rb +17 -0
- data/lib/puppet/pops/parser/egrammar.ra +110 -61
- data/lib/puppet/pops/parser/eparser.rb +1415 -1092
- data/lib/puppet/pops/parser/epp_parser.rb +51 -0
- data/lib/puppet/pops/parser/epp_support.rb +247 -0
- data/lib/puppet/pops/parser/evaluating_parser.rb +53 -15
- data/lib/puppet/pops/parser/heredoc_support.rb +139 -0
- data/lib/puppet/pops/parser/interpolation_support.rb +227 -0
- data/lib/puppet/pops/parser/lexer.rb +83 -192
- data/lib/puppet/pops/parser/lexer2.rb +684 -0
- data/lib/puppet/pops/parser/lexer_support.rb +107 -0
- data/lib/puppet/pops/parser/locatable.rb +23 -0
- data/lib/puppet/pops/parser/locator.rb +291 -0
- data/lib/puppet/pops/parser/makefile +1 -8
- data/lib/puppet/pops/parser/parser_support.rb +76 -48
- data/lib/puppet/pops/parser/slurp_support.rb +95 -0
- data/lib/puppet/pops/patterns.rb +13 -4
- data/lib/puppet/pops/types/class_loader.rb +2 -2
- data/lib/puppet/pops/types/enumeration.rb +34 -0
- data/lib/puppet/pops/types/type_calculator.rb +983 -58
- data/lib/puppet/pops/types/type_factory.rb +203 -15
- data/lib/puppet/pops/types/type_parser.rb +355 -12
- data/lib/puppet/pops/types/types.rb +314 -24
- data/lib/puppet/pops/utils.rb +23 -7
- data/lib/puppet/pops/validation.rb +14 -8
- data/lib/puppet/pops/validation/checker3_1.rb +17 -12
- data/lib/puppet/pops/validation/checker4_0.rb +514 -0
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +31 -0
- data/lib/puppet/pops/visitor.rb +146 -4
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/property/ensure.rb +1 -1
- data/lib/puppet/provider.rb +47 -26
- data/lib/puppet/provider/aixobject.rb +3 -3
- data/lib/puppet/provider/augeas/augeas.rb +11 -11
- data/lib/puppet/provider/cron/crontab.rb +10 -1
- data/lib/puppet/provider/exec.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +1 -1
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/file/posix.rb +2 -2
- data/lib/puppet/provider/file/windows.rb +15 -9
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/macauthorization/macauthorization.rb +3 -3
- data/lib/puppet/provider/mount.rb +7 -0
- data/lib/puppet/provider/mount/parsed.rb +0 -1
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +3 -3
- data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
- data/lib/puppet/provider/package/aix.rb +1 -1
- data/lib/puppet/provider/package/appdmg.rb +1 -4
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +1 -1
- data/lib/puppet/provider/package/blastwave.rb +1 -1
- data/lib/puppet/provider/package/fink.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +3 -3
- data/lib/puppet/provider/package/openbsd.rb +6 -4
- data/lib/puppet/provider/package/pacman.rb +58 -5
- data/lib/puppet/provider/package/pip.rb +2 -2
- data/lib/puppet/provider/package/pkgdmg.rb +25 -10
- data/lib/puppet/provider/package/pkgin.rb +48 -23
- data/lib/puppet/provider/package/pkgutil.rb +1 -1
- data/lib/puppet/provider/package/ports.rb +1 -1
- data/lib/puppet/provider/package/portupgrade.rb +7 -7
- data/lib/puppet/provider/package/rpm.rb +16 -8
- data/lib/puppet/provider/package/windows.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/selboolean/getsetsebool.rb +1 -1
- data/lib/puppet/provider/selmodule/semodule.rb +5 -5
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/bsd.rb +3 -3
- data/lib/puppet/provider/service/daemontools.rb +20 -20
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/freebsd.rb +3 -3
- data/lib/puppet/provider/service/gentoo.rb +2 -2
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +4 -4
- data/lib/puppet/provider/service/redhat.rb +2 -2
- data/lib/puppet/provider/service/runit.rb +4 -4
- data/lib/puppet/provider/service/service.rb +3 -4
- data/lib/puppet/provider/service/smf.rb +1 -1
- data/lib/puppet/provider/service/src.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +4 -4
- data/lib/puppet/provider/service/upstart.rb +22 -7
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +3 -3
- data/lib/puppet/provider/user/aix.rb +5 -5
- data/lib/puppet/provider/user/directoryservice.rb +8 -5
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +2 -2
- data/lib/puppet/provider/user/useradd.rb +19 -5
- data/lib/puppet/provider/yumrepo/inifile.rb +187 -0
- data/lib/puppet/provider/zone/solaris.rb +4 -4
- data/lib/puppet/rails.rb +16 -11
- data/lib/puppet/rails/benchmark.rb +1 -1
- data/lib/puppet/rails/resource.rb +5 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/relationship.rb +10 -5
- data/lib/puppet/reports/http.rb +8 -2
- data/lib/puppet/reports/rrdgraph.rb +1 -1
- data/lib/puppet/reports/store.rb +3 -3
- data/lib/puppet/reports/tagmail.rb +4 -4
- data/lib/puppet/resource.rb +37 -44
- data/lib/puppet/resource/catalog.rb +18 -20
- data/lib/puppet/resource/status.rb +7 -6
- data/lib/puppet/resource/type.rb +6 -5
- data/lib/puppet/resource/type_collection.rb +2 -2
- data/lib/puppet/run.rb +9 -8
- data/lib/puppet/settings.rb +395 -244
- data/lib/puppet/settings/base_setting.rb +10 -4
- data/lib/puppet/settings/config_file.rb +81 -44
- data/lib/puppet/settings/directory_setting.rb +1 -2
- data/lib/puppet/settings/file_setting.rb +12 -5
- data/lib/puppet/settings/ini_file.rb +171 -0
- data/lib/puppet/ssl/base.rb +4 -0
- data/lib/puppet/ssl/certificate_authority.rb +16 -11
- data/lib/puppet/ssl/certificate_authority/interface.rb +3 -2
- data/lib/puppet/ssl/certificate_factory.rb +50 -5
- data/lib/puppet/ssl/certificate_request.rb +2 -2
- data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -1
- data/lib/puppet/ssl/host.rb +9 -8
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/status.rb +8 -7
- data/lib/puppet/test/test_helper.rb +35 -4
- data/lib/puppet/transaction/event.rb +6 -5
- data/lib/puppet/transaction/report.rb +10 -10
- data/lib/puppet/type.rb +1 -3
- data/lib/puppet/type/augeas.rb +2 -1
- data/lib/puppet/type/cron.rb +41 -11
- data/lib/puppet/type/exec.rb +5 -5
- data/lib/puppet/type/file.rb +42 -4
- data/lib/puppet/type/file/content.rb +5 -6
- data/lib/puppet/type/file/ensure.rb +3 -3
- data/lib/puppet/type/file/source.rb +12 -6
- data/lib/puppet/type/file/target.rb +5 -5
- data/lib/puppet/type/k5login.rb +4 -4
- data/lib/puppet/type/mount.rb +1 -1
- data/lib/puppet/type/package.rb +79 -3
- data/lib/puppet/type/resources.rb +34 -5
- data/lib/puppet/type/selboolean.rb +1 -1
- data/lib/puppet/type/selmodule.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +2 -1
- data/lib/puppet/type/sshkey.rb +2 -1
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/user.rb +4 -1
- data/lib/puppet/type/yumrepo.rb +219 -344
- data/lib/puppet/type/zone.rb +15 -5
- data/lib/puppet/util.rb +14 -13
- data/lib/puppet/util/adsi.rb +19 -3
- data/lib/puppet/util/autoload.rb +27 -24
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/colors.rb +4 -12
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/command_line/trollop.rb +3 -3
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +8 -1
- data/lib/puppet/util/execution.rb +12 -5
- data/lib/puppet/util/filetype.rb +5 -5
- data/lib/puppet/util/inifile.rb +19 -4
- data/lib/puppet/util/instrumentation/data.rb +5 -0
- data/lib/puppet/util/instrumentation/indirection_probe.rb +6 -1
- data/lib/puppet/util/instrumentation/listener.rb +6 -1
- data/lib/puppet/util/json_lockfile.rb +4 -1
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/lockfile.rb +10 -6
- data/lib/puppet/util/log.rb +6 -1
- data/lib/puppet/util/log/destinations.rb +2 -2
- data/lib/puppet/util/metric.rb +9 -4
- data/lib/puppet/util/nagios_maker.rb +26 -1
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +1 -1
- data/lib/puppet/util/network_device/transport/ssh.rb +3 -3
- data/lib/puppet/util/plugins.rb +1 -1
- data/lib/puppet/util/profiler.rb +13 -1
- data/lib/puppet/util/pson.rb +1 -1
- data/lib/puppet/util/queue/stomp.rb +2 -2
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +19 -19
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retryaction.rb +1 -1
- data/lib/puppet/util/selinux.rb +2 -2
- data/lib/puppet/util/storage.rb +3 -3
- data/lib/puppet/util/symbolic_file_mode.rb +1 -1
- data/lib/puppet/util/tag_set.rb +15 -3
- data/lib/puppet/util/tagging.rb +12 -17
- data/lib/puppet/util/watched_file.rb +1 -1
- data/lib/puppet/util/watcher.rb +1 -1
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +20 -4
- data/lib/puppet/util/windows/registry.rb +2 -2
- data/lib/puppet/vendor/safe_yaml/CHANGES.md +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppetx.rb +1 -21
- data/lib/puppetx/puppet/syntax_checker.rb +1 -1
- data/lib/puppetx/puppetlabs/syntax_checkers/json.rb +9 -11
- data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +2 -0
- data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +6 -0
- data/spec/fixtures/{unit/pops/binder/hiera2/yaml_backend/empty/common.yaml → integration/node/environment/sitedir/03_empty.pp} +0 -0
- data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +2 -0
- data/spec/fixtures/integration/provider/cron/crontab/purged +8 -0
- data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +3 -12
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +10 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +20 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/{awesome/lib/puppetx/awesome → awesome2/lib/puppetx/awesome2}/echo_scheme_handler.rb +2 -2
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +5 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +6 -0
- data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +2 -2
- data/spec/fixtures/unit/provider/service/systemd/{list_units → list_units_services} +0 -1
- data/spec/integration/agent/logging_spec.rb +1 -1
- data/spec/integration/application/apply_spec.rb +78 -3
- data/spec/integration/application/doc_spec.rb +3 -2
- data/spec/integration/configurer_spec.rb +5 -3
- data/spec/integration/directory_environments_spec.rb +50 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/file_content/file_server_spec.rb +4 -5
- data/spec/integration/network/authconfig_spec.rb +4 -4
- data/spec/integration/network/formats_spec.rb +1 -1
- data/spec/integration/node/environment_spec.rb +67 -15
- data/spec/integration/node/facts_spec.rb +1 -1
- data/spec/integration/node_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +100 -60
- data/spec/integration/parser/compiler_spec.rb +102 -13
- data/spec/integration/parser/future_compiler_spec.rb +416 -0
- data/spec/integration/parser/parser_spec.rb +44 -105
- data/spec/integration/parser/scope_spec.rb +614 -528
- data/spec/integration/provider/cron/crontab_spec.rb +21 -0
- data/spec/integration/provider/mount_spec.rb +15 -2
- data/spec/integration/resource/catalog_spec.rb +1 -1
- data/spec/integration/resource/type_collection_spec.rb +3 -4
- data/spec/integration/ssl/autosign_spec.rb +1 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/integration/ssl/host_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +13 -13
- data/spec/integration/type/exec_spec.rb +2 -2
- data/spec/integration/type/file_spec.rb +114 -41
- data/spec/integration/type/nagios_spec.rb +80 -0
- data/spec/integration/type/tidy_spec.rb +2 -2
- data/spec/integration/util/execution_spec.rb +17 -0
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/settings_spec.rb +1 -1
- data/spec/integration/util/windows/security_spec.rb +27 -2
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/matchers/json.rb +135 -79
- data/spec/lib/matchers/match_tokens2.rb +74 -0
- data/spec/lib/matchers/resource.rb +35 -0
- data/spec/lib/puppet/indirector/indirector_testing/memory.rb +7 -0
- data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +6 -0
- data/spec/lib/puppet/indirector_testing.rb +12 -2
- data/spec/lib/puppet_spec/files.rb +1 -0
- data/spec/lib/puppet_spec/matchers.rb +5 -0
- data/spec/lib/puppet_spec/modules.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +14 -0
- data/spec/shared_behaviours/file_server_terminus.rb +2 -2
- data/spec/spec_helper.rb +47 -17
- data/spec/unit/agent_spec.rb +8 -1
- data/spec/unit/application/agent_spec.rb +5 -4
- data/spec/unit/application/apply_spec.rb +34 -15
- data/spec/unit/application/device_spec.rb +27 -32
- data/spec/unit/application/doc_spec.rb +4 -4
- data/spec/unit/application/filebucket_spec.rb +1 -1
- data/spec/unit/application/master_spec.rb +2 -2
- data/spec/unit/application_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +1 -1
- data/spec/unit/configurer/fact_handler_spec.rb +5 -16
- data/spec/unit/configurer_spec.rb +2 -2
- data/spec/unit/confine/exists_spec.rb +5 -5
- data/spec/unit/context/trusted_information_spec.rb +124 -0
- data/spec/unit/context_spec.rb +74 -0
- data/spec/unit/environments_spec.rb +126 -0
- data/spec/unit/face/config_spec.rb +31 -16
- data/spec/unit/face/module/build_spec.rb +1 -0
- data/spec/unit/face/module/install_spec.rb +21 -104
- data/spec/unit/face/module/list_spec.rb +52 -36
- data/spec/unit/face/module/uninstall_spec.rb +18 -25
- data/spec/unit/face/parser_spec.rb +39 -23
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_serving/base_spec.rb +9 -13
- data/spec/unit/file_serving/configuration/parser_spec.rb +8 -2
- data/spec/unit/file_serving/configuration_spec.rb +7 -7
- data/spec/unit/file_serving/content_spec.rb +7 -12
- data/spec/unit/file_serving/fileset_spec.rb +49 -53
- data/spec/unit/file_serving/metadata_spec.rb +83 -32
- data/spec/unit/file_serving/mount/file_spec.rb +10 -10
- data/spec/unit/file_system/tempfile_spec.rb +3 -3
- data/spec/unit/file_system_spec.rb +508 -0
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/repository_spec.rb +1 -3
- data/spec/unit/hiera/scope_spec.rb +6 -2
- data/spec/unit/hiera_puppet_spec.rb +13 -6
- data/spec/unit/indirector/catalog/msgpack_spec.rb +12 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +42 -11
- data/spec/unit/indirector/direct_file_server_spec.rb +6 -6
- data/spec/unit/indirector/facts/facter_spec.rb +5 -5
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
- data/spec/unit/indirector/file_metadata/file_spec.rb +2 -2
- data/spec/unit/indirector/file_server_spec.rb +4 -4
- data/spec/unit/indirector/json_spec.rb +6 -6
- data/spec/unit/indirector/key/file_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +191 -0
- data/spec/unit/indirector/node/active_record_spec.rb +1 -1
- data/spec/unit/indirector/node/ldap_spec.rb +16 -7
- data/spec/unit/indirector/node/msgpack_spec.rb +24 -0
- data/spec/unit/indirector/node/plain_spec.rb +1 -1
- data/spec/unit/indirector/queue_spec.rb +1 -1
- data/spec/unit/indirector/report/msgpack_spec.rb +28 -0
- data/spec/unit/indirector/request_spec.rb +16 -8
- data/spec/unit/indirector/rest_spec.rb +0 -4
- data/spec/unit/indirector/ssl_file_spec.rb +12 -11
- data/spec/unit/indirector/yaml_spec.rb +4 -4
- data/spec/unit/man_spec.rb +32 -0
- data/spec/unit/module_spec.rb +60 -46
- data/spec/unit/module_tool/applications/checksummer_spec.rb +1 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +53 -16
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +26 -25
- data/spec/unit/module_tool/tar_spec.rb +1 -1
- data/spec/unit/module_tool_spec.rb +17 -90
- data/spec/unit/network/authconfig_spec.rb +3 -4
- data/spec/unit/network/authentication_spec.rb +20 -6
- data/spec/unit/network/authorization_spec.rb +11 -1
- data/spec/unit/network/formats_spec.rb +32 -9
- data/spec/unit/network/http/api/v1_spec.rb +365 -62
- data/spec/unit/network/http/api/v2/authorization_spec.rb +57 -0
- data/spec/unit/network/http/api/v2/environments_spec.rb +42 -0
- data/spec/unit/network/http/api/v2_spec.rb +14 -0
- data/spec/unit/network/http/connection_spec.rb +39 -5
- data/spec/unit/network/http/error_spec.rb +30 -0
- data/spec/unit/network/http/handler_spec.rb +69 -419
- data/spec/unit/network/http/rack/rest_spec.rb +20 -28
- data/spec/unit/network/http/route_spec.rb +75 -0
- data/spec/unit/network/http/webrick/rest_spec.rb +21 -58
- data/spec/unit/network/http_pool_spec.rb +3 -3
- data/spec/unit/network/rights_spec.rb +2 -2
- data/spec/unit/node/environment_spec.rb +108 -89
- data/spec/unit/node/facts_spec.rb +5 -12
- data/spec/unit/node_spec.rb +22 -22
- data/spec/unit/parser/ast/collection_spec.rb +1 -1
- data/spec/unit/parser/ast/leaf_spec.rb +2 -0
- data/spec/unit/parser/ast/resource_spec.rb +1 -1
- data/spec/unit/parser/compiler_spec.rb +5 -3
- data/spec/unit/parser/files_spec.rb +40 -50
- data/spec/unit/parser/functions/defined_spec.rb +80 -18
- data/spec/unit/parser/functions/epp_spec.rb +88 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +4 -1
- data/spec/unit/parser/functions/generate_spec.rb +6 -2
- data/spec/unit/parser/functions/hiera_array_spec.rb +5 -2
- data/spec/unit/parser/functions/hiera_hash_spec.rb +4 -1
- data/spec/unit/parser/functions/hiera_include_spec.rb +6 -3
- data/spec/unit/parser/functions/hiera_spec.rb +5 -2
- data/spec/unit/parser/functions/include_spec.rb +0 -1
- data/spec/unit/parser/functions/inline_epp_spec.rb +82 -0
- data/spec/unit/parser/functions/lookup_spec.rb +66 -16
- data/spec/unit/parser/functions_spec.rb +25 -91
- data/spec/unit/parser/lexer_spec.rb +1 -1
- data/spec/unit/parser/methods/filter_spec.rb +56 -0
- data/spec/unit/parser/methods/map_spec.rb +94 -5
- data/spec/unit/parser/methods/reduce_spec.rb +10 -0
- data/spec/unit/parser/methods/shared.rb +2 -18
- data/spec/unit/parser/methods/slice_spec.rb +39 -1
- data/spec/unit/parser/parser_spec.rb +14 -10
- data/spec/unit/parser/resource_spec.rb +3 -9
- data/spec/unit/parser/scope_spec.rb +81 -78
- data/spec/unit/parser/type_loader_spec.rb +0 -4
- data/spec/unit/pops/benchmark_spec.rb +142 -0
- data/spec/unit/pops/binder/binder_spec.rb +15 -34
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -41
- data/spec/unit/pops/binder/bindings_composer_spec.rb +6 -31
- data/spec/unit/pops/binder/config/binder_config_spec.rb +5 -18
- data/spec/unit/pops/binder/injector_spec.rb +76 -81
- data/spec/unit/pops/evaluator/access_ops_spec.rb +376 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +77 -0
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +103 -0
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +111 -0
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +256 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +190 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1045 -0
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +75 -0
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +90 -0
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +44 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +194 -0
- data/spec/unit/pops/factory_spec.rb +6 -29
- data/spec/unit/pops/issues_spec.rb +1 -1
- data/spec/unit/pops/model/ast_transformer_spec.rb +6 -9
- data/spec/unit/pops/model/model_spec.rb +2 -2
- data/spec/unit/pops/parser/epp_parser_spec.rb +86 -0
- data/spec/unit/pops/parser/evaluating_parser_spec.rb +4 -2
- data/spec/unit/pops/parser/lexer2_spec.rb +428 -0
- data/spec/unit/pops/parser/lexer_spec.rb +25 -86
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +29 -4
- data/spec/unit/pops/parser/parse_calls_spec.rb +10 -6
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -9
- data/spec/unit/pops/parser/parse_containers_spec.rb +43 -12
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +73 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +14 -0
- data/spec/unit/pops/parser/parser_spec.rb +3 -1
- data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/transformer/transform_calls_spec.rb +41 -6
- data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -9
- data/spec/unit/pops/transformer/transform_containers_spec.rb +12 -4
- data/spec/unit/pops/types/enumeration_spec.rb +50 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +1171 -196
- data/spec/unit/pops/types/type_factory_spec.rb +108 -4
- data/spec/unit/pops/types/type_parser_spec.rb +114 -10
- data/spec/unit/pops/validator/validator_spec.rb +36 -1
- data/spec/unit/provider/augeas/augeas_spec.rb +39 -16
- data/spec/unit/provider/cron/parsed_spec.rb +27 -31
- data/spec/unit/provider/file/posix_spec.rb +2 -2
- data/spec/unit/provider/group/windows_adsi_spec.rb +1 -0
- data/spec/unit/provider/mount_spec.rb +12 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +3 -3
- data/spec/unit/provider/package/apt_spec.rb +1 -1
- data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/gem_spec.rb +12 -0
- data/spec/unit/provider/package/msi_spec.rb +4 -0
- data/spec/unit/provider/package/openbsd_spec.rb +10 -10
- data/spec/unit/provider/package/pacman_spec.rb +36 -7
- data/spec/unit/provider/package/pkgin_spec.rb +57 -55
- data/spec/unit/provider/package/rpm_spec.rb +51 -6
- data/spec/unit/provider/service/base_spec.rb +4 -4
- data/spec/unit/provider/service/daemontools_spec.rb +8 -13
- data/spec/unit/provider/service/freebsd_spec.rb +3 -3
- data/spec/unit/provider/service/gentoo_spec.rb +24 -24
- data/spec/unit/provider/service/init_spec.rb +15 -15
- data/spec/unit/provider/service/openbsd_spec.rb +16 -16
- data/spec/unit/provider/service/openrc_spec.rb +20 -20
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +5 -8
- data/spec/unit/provider/service/src_spec.rb +4 -4
- data/spec/unit/provider/service/systemd_spec.rb +24 -14
- data/spec/unit/provider/service/upstart_spec.rb +12 -4
- data/spec/unit/provider/service/windows_spec.rb +1 -1
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +21 -23
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/useradd_spec.rb +43 -15
- data/spec/unit/provider/user/windows_adsi_spec.rb +1 -0
- data/spec/unit/provider/yumrepo/inifile_spec.rb +105 -0
- data/spec/unit/provider/zone/solaris_spec.rb +1 -1
- data/spec/unit/provider_spec.rb +120 -62
- data/spec/unit/rails/host_spec.rb +1 -1
- data/spec/unit/rails/param_value_spec.rb +4 -0
- data/spec/unit/relationship_spec.rb +4 -4
- data/spec/unit/reports/http_spec.rb +14 -3
- data/spec/unit/reports/rrdgraph_spec.rb +0 -1
- data/spec/unit/reports/store_spec.rb +2 -2
- data/spec/unit/resource/catalog_spec.rb +17 -29
- data/spec/unit/resource/status_spec.rb +1 -1
- data/spec/unit/resource/type_collection_spec.rb +28 -47
- data/spec/unit/resource/type_spec.rb +12 -23
- data/spec/unit/resource_spec.rb +54 -93
- data/spec/unit/run_spec.rb +3 -3
- data/spec/unit/settings/autosign_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +68 -15
- data/spec/unit/settings/file_setting_spec.rb +2 -2
- data/spec/unit/settings/ini_file_spec.rb +184 -0
- data/spec/unit/settings_spec.rb +137 -79
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +3 -1
- data/spec/unit/ssl/certificate_authority_spec.rb +11 -9
- data/spec/unit/ssl/certificate_factory_spec.rb +19 -4
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +1 -1
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +101 -72
- data/spec/unit/ssl/host_spec.rb +8 -20
- data/spec/unit/ssl/inventory_spec.rb +2 -2
- data/spec/unit/ssl/key_spec.rb +4 -4
- data/spec/unit/status_spec.rb +6 -4
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -11
- data/spec/unit/transaction/event_spec.rb +2 -2
- data/spec/unit/transaction/report_spec.rb +24 -15
- data/spec/unit/transaction/resource_harness_spec.rb +1 -1
- data/spec/unit/type/cron_spec.rb +39 -1
- data/spec/unit/type/file/content_spec.rb +4 -5
- data/spec/unit/type/file/ctime_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +5 -4
- data/spec/unit/type/file/mtime_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +30 -7
- data/spec/unit/type/file_spec.rb +8 -8
- data/spec/unit/type/k5login_spec.rb +3 -3
- data/spec/unit/type/nagios_spec.rb +6 -0
- data/spec/unit/type/package/package_settings_spec.rb +135 -0
- data/spec/unit/type/package_spec.rb +13 -1
- data/spec/unit/type/resources_spec.rb +155 -0
- data/spec/unit/type/service_spec.rb +3 -3
- data/spec/unit/type/ssh_authorized_key_spec.rb +96 -93
- data/spec/unit/type/sshkey_spec.rb +39 -30
- data/spec/unit/type/tidy_spec.rb +19 -12
- data/spec/unit/type/user_spec.rb +47 -2
- data/spec/unit/type/whit_spec.rb +2 -2
- data/spec/unit/type/yumrepo_spec.rb +32 -177
- data/spec/unit/type/zone_spec.rb +2 -2
- data/spec/unit/type_spec.rb +11 -0
- data/spec/unit/util/adsi_spec.rb +48 -1
- data/spec/unit/util/autoload_spec.rb +24 -39
- data/spec/unit/util/backups_spec.rb +25 -28
- data/spec/unit/util/checksums_spec.rb +1 -3
- data/spec/unit/util/colors_spec.rb +14 -0
- data/spec/unit/util/docs_spec.rb +9 -0
- data/spec/unit/util/execution_spec.rb +1 -1
- data/spec/unit/util/filetype_spec.rb +7 -7
- data/spec/unit/util/instrumentation/data_spec.rb +3 -1
- data/spec/unit/util/instrumentation/indirection_probe_spec.rb +2 -0
- data/spec/unit/util/instrumentation/listener_spec.rb +3 -2
- data/spec/unit/util/json_lockfile_spec.rb +25 -4
- data/spec/unit/util/lockfile_spec.rb +49 -7
- data/spec/unit/util/log/destinations_spec.rb +1 -0
- data/spec/unit/util/log_spec.rb +1 -1
- data/spec/unit/util/metric_spec.rb +1 -1
- data/spec/unit/util/pidlock_spec.rb +6 -6
- data/spec/unit/util/pson_spec.rb +2 -2
- data/spec/unit/util/rdoc/parser_spec.rb +32 -29
- data/spec/unit/util/resource_template_spec.rb +3 -3
- data/spec/unit/util/selinux_spec.rb +5 -5
- data/spec/unit/util/storage_spec.rb +4 -4
- data/spec/unit/util/tag_set_spec.rb +1 -1
- data/spec/unit/util/watcher_spec.rb +1 -4
- data/spec/unit/util/yaml_spec.rb +2 -2
- data/spec/unit/util_spec.rb +7 -7
- data/tasks/benchmark.rake +0 -1
- data/tasks/parallel.rake +408 -0
- data/tasks/yard.rake +59 -0
- metadata +2889 -2782
- checksums.yaml +0 -7
- data/README_DEVELOPER.md +0 -809
- data/lib/puppet/file_system/file.rb +0 -271
- data/lib/puppet/network/http/rack/httphandler.rb +0 -13
- data/lib/puppet/pops/binder/hiera2.rb +0 -10
- data/lib/puppet/pops/binder/hiera2/bindings_provider.rb +0 -148
- data/lib/puppet/pops/binder/hiera2/config.rb +0 -69
- data/lib/puppet/pops/binder/hiera2/config_checker.rb +0 -68
- data/lib/puppet/pops/binder/hiera2/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/hiera2/issues.rb +0 -67
- data/lib/puppet/pops/binder/hiera2/json_backend.rb +0 -18
- data/lib/puppet/pops/binder/hiera2/yaml_backend.rb +0 -21
- data/lib/puppet/pops/binder/scheme_handler/confdir_hiera_scheme.rb +0 -67
- data/lib/puppet/pops/binder/scheme_handler/module_hiera_scheme.rb +0 -92
- data/lib/puppet/pops/parser/grammar.ra +0 -746
- data/lib/puppet/provider/port/parsed.rb +0 -173
- data/lib/puppet/type/port.rb +0 -119
- data/lib/puppetx/puppet/hiera2_backend.rb +0 -31
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/binder_config.yaml +0 -18
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/hiera.yaml +0 -10
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/hiera.yaml +0 -11
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/localhost.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/common.yaml +0 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/hiera.yaml +0 -13
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppet/bindings/awesome/default.rb +0 -4
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppetx/awesome/echo_backend.rb +0 -11
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/localhost.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/common.yaml +0 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/hiera_config.yaml +0 -9
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/common.yaml +0 -2
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/hiera.yaml +0 -11
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/hiera.yaml +0 -9
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.json +0 -9
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.yaml +0 -5
- data/spec/fixtures/unit/pops/binder/hiera2/config/bad_syntax/hiera.yaml +0 -10
- data/spec/fixtures/unit/pops/binder/hiera2/config/malformed_hierarchy/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/hiera2/config/missing/foo.txt +0 -1
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_backends/hiera.yaml +0 -7
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_hierarchy/hiera.yaml +0 -4
- data/spec/fixtures/unit/pops/binder/hiera2/config/not_a_hash/hiera.yaml +0 -2
- data/spec/fixtures/unit/pops/binder/hiera2/config/ok/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/invalid/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/ok/common.yaml +0 -2
- data/spec/unit/file_system/file_spec.rb +0 -486
- data/spec/unit/pops/binder/hiera2/bindings_provider_spec.rb +0 -74
- data/spec/unit/pops/binder/hiera2/config_spec.rb +0 -61
- data/spec/unit/pops/binder/hiera2/yaml_backend_spec.rb +0 -33
@@ -8,13 +8,14 @@ Puppet::Parser::Functions::newfunction(
|
|
8
8
|
Applies a parameterized block to each element in a sequence of entries from the first
|
9
9
|
argument and returns an array with the result of each invocation of the parameterized block.
|
10
10
|
|
11
|
-
This function takes two mandatory arguments: the first should be an Array
|
12
|
-
a parameterized block as produced by the puppet syntax:
|
11
|
+
This function takes two mandatory arguments: the first should be an Array, Hash, or of Enumerable type
|
12
|
+
(integer, Integer range, or String), and the second a parameterized block as produced by the puppet syntax:
|
13
13
|
|
14
14
|
$a.map |$x| { ... }
|
15
|
+
map($a) |$x| { ... }
|
15
16
|
|
16
|
-
When the first argument `$a` is an Array, the block is called with each entry in turn.
|
17
|
-
is a hash the entry is an array with `[key, value]`.
|
17
|
+
When the first argument `$a` is an Array or of enumerable type, the block is called with each entry in turn.
|
18
|
+
When the first argument is a hash the entry is an array with `[key, value]`.
|
18
19
|
|
19
20
|
*Examples*
|
20
21
|
|
@@ -24,21 +25,72 @@ Puppet::Parser::Functions::newfunction(
|
|
24
25
|
# Turns hash into array of keys
|
25
26
|
$a.map |$x| { $x[0] }
|
26
27
|
|
27
|
-
|
28
|
-
|
28
|
+
When using a block with 2 parameters, the element's index (starting from 0) for an array, and the key for a hash
|
29
|
+
is given to the block's first parameter, and the value is given to the block's second parameter.args.
|
30
|
+
|
31
|
+
*Examples*
|
32
|
+
|
33
|
+
# Turns hash into array of values
|
34
|
+
$a.map |$key,$val|{ $val }
|
35
|
+
|
36
|
+
# Turns hash into array of keys
|
37
|
+
$a.map |$key,$val|{ $key }
|
38
|
+
|
39
|
+
- Since 3.4 for Array and Hash
|
40
|
+
- Since 3.5 for other enumerables, and support for blocks with 2 parameters
|
41
|
+
- requires `parser = future`
|
29
42
|
ENDHEREDOC
|
30
43
|
|
44
|
+
def map_Enumerator(enumerator, scope, pblock, serving_size)
|
45
|
+
result = []
|
46
|
+
index = 0
|
47
|
+
if serving_size == 1
|
48
|
+
begin
|
49
|
+
loop { result << pblock.call(scope, enumerator.next) }
|
50
|
+
rescue StopIteration
|
51
|
+
end
|
52
|
+
else
|
53
|
+
begin
|
54
|
+
loop do
|
55
|
+
result << pblock.call(scope, index, enumerator.next)
|
56
|
+
index = index +1
|
57
|
+
end
|
58
|
+
rescue StopIteration
|
59
|
+
end
|
60
|
+
end
|
61
|
+
result
|
62
|
+
end
|
63
|
+
|
31
64
|
receiver = args[0]
|
32
65
|
pblock = args[1]
|
33
66
|
|
34
|
-
raise ArgumentError, ("map(): wrong argument type (#{pblock.class}; must be a parameterized block.") unless pblock.
|
35
|
-
|
67
|
+
raise ArgumentError, ("map(): wrong argument type (#{pblock.class}; must be a parameterized block.") unless pblock.respond_to?(:puppet_lambda)
|
68
|
+
serving_size = pblock.parameter_count
|
69
|
+
if serving_size == 0
|
70
|
+
raise ArgumentError, "map(): block must define at least one parameter; value. Block has 0."
|
71
|
+
end
|
36
72
|
case receiver
|
37
|
-
when Array
|
38
73
|
when Hash
|
74
|
+
if serving_size > 2
|
75
|
+
raise ArgumentError, "map(): block must define at most two parameters; key, value.args Block has #{serving_size}; "+
|
76
|
+
pblock.parameter_names.join(', ')
|
77
|
+
end
|
78
|
+
if serving_size == 1
|
79
|
+
result = receiver.map {|x, y| pblock.call(self, [x, y]) }
|
80
|
+
else
|
81
|
+
result = receiver.map {|x, y| pblock.call(self, x, y) }
|
82
|
+
end
|
39
83
|
else
|
40
|
-
|
41
|
-
|
84
|
+
if serving_size > 2
|
85
|
+
raise ArgumentError, "map(): block must define at most two parameters; index, value. Block has #{serving_size}; "+
|
86
|
+
pblock.parameter_names.join(', ')
|
87
|
+
end
|
42
88
|
|
43
|
-
|
89
|
+
enum = Puppet::Pops::Types::Enumeration.enumerator(receiver)
|
90
|
+
unless enum
|
91
|
+
raise ArgumentError, ("map(): wrong argument type (#{receiver.class}; must be something enumerable.")
|
92
|
+
end
|
93
|
+
result = map_Enumerator(enum, self, pblock, serving_size)
|
94
|
+
end
|
95
|
+
result
|
44
96
|
end
|
@@ -4,22 +4,27 @@ Puppet::Parser::Functions::newfunction(
|
|
4
4
|
:arity => -2,
|
5
5
|
:doc => <<-'ENDHEREDOC') do |args|
|
6
6
|
Applies a parameterized block to each element in a sequence of entries from the first
|
7
|
-
argument (_the
|
7
|
+
argument (_the enumerable_) and returns the last result of the invocation of the parameterized block.
|
8
8
|
|
9
|
-
This function takes two mandatory arguments: the first should be an Array
|
10
|
-
a parameterized block as produced by the puppet syntax:
|
9
|
+
This function takes two mandatory arguments: the first should be an Array, Hash, or something of
|
10
|
+
enumerable type, and the last a parameterized block as produced by the puppet syntax:
|
11
11
|
|
12
12
|
$a.reduce |$memo, $x| { ... }
|
13
|
+
reduce($a) |$memo, $x| { ... }
|
13
14
|
|
14
|
-
When the first argument is an Array, the block is called with each entry in turn.
|
15
|
-
is a hash each entry is converted to an array with `[key, value]` before being
|
16
|
-
'start memo' value may be supplied as an argument between the array/hash
|
15
|
+
When the first argument is an Array or someting of an enumerable type, the block is called with each entry in turn.
|
16
|
+
When the first argument is a hash each entry is converted to an array with `[key, value]` before being
|
17
|
+
fed to the block. An optional 'start memo' value may be supplied as an argument between the array/hash
|
18
|
+
and mandatory block.
|
19
|
+
|
20
|
+
$a.reduce(start) |$memo, $x| { ... }
|
21
|
+
reduce($a, start) |$memo, $x| { ... }
|
17
22
|
|
18
23
|
If no 'start memo' is given, the first invocation of the parameterized block will be given the first and second
|
19
|
-
elements of the
|
24
|
+
elements of the enumeration, and if the enumerable has fewer than 2 elements, the first
|
20
25
|
element is produced as the result of the reduction without invocation of the block.
|
21
26
|
|
22
|
-
On each subsequent
|
27
|
+
On each subsequent invocation, the produced value of the invoked parameterized block is given as the memo in the
|
23
28
|
next invocation.
|
24
29
|
|
25
30
|
*Examples*
|
@@ -34,6 +39,10 @@ Puppet::Parser::Functions::newfunction(
|
|
34
39
|
$a.reduce |$memo, $entry| { [sum, $memo[1]+$entry[1]] }
|
35
40
|
#=> [sum, 6]
|
36
41
|
|
42
|
+
# reverse a string
|
43
|
+
"abc".reduce |$memo, $char| { "$char$memo" }
|
44
|
+
#=>"cbe"
|
45
|
+
|
37
46
|
It is possible to provide a starting 'memo' as an argument.
|
38
47
|
|
39
48
|
*Examples*
|
@@ -48,29 +57,44 @@ Puppet::Parser::Functions::newfunction(
|
|
48
57
|
$a.reduce([na, 4]) |$memo, $entry| { [sum, $memo[1]+$entry[1]] }
|
49
58
|
#=> [sum, 10]
|
50
59
|
|
51
|
-
|
60
|
+
*Examples*
|
61
|
+
|
62
|
+
Integer[1,4].reduce |$memo, $x| { $memo + $x }
|
63
|
+
#=> 10
|
64
|
+
|
65
|
+
- Since 3.2 for Array and Hash
|
66
|
+
- Since 3.5 for additional enumerable types
|
52
67
|
- requires `parser = future`.
|
53
68
|
ENDHEREDOC
|
54
69
|
|
55
70
|
require 'puppet/parser/ast/lambda'
|
71
|
+
|
56
72
|
case args.length
|
57
73
|
when 2
|
58
74
|
pblock = args[1]
|
59
75
|
when 3
|
60
76
|
pblock = args[2]
|
61
77
|
else
|
62
|
-
raise ArgumentError, ("reduce(): wrong number of arguments (#{args.length};
|
78
|
+
raise ArgumentError, ("reduce(): wrong number of arguments (#{args.length}; expected 2 or 3, got #{args.length})")
|
63
79
|
end
|
64
|
-
unless pblock.
|
65
|
-
raise ArgumentError, ("reduce(): wrong argument type (#{
|
80
|
+
unless pblock.respond_to?(:puppet_lambda)
|
81
|
+
raise ArgumentError, ("reduce(): wrong argument type (#{pblock.class}; must be a parameterized block.")
|
66
82
|
end
|
67
83
|
receiver = args[0]
|
68
|
-
|
69
|
-
|
84
|
+
enum = Puppet::Pops::Types::Enumeration.enumerator(receiver)
|
85
|
+
unless enum
|
86
|
+
raise ArgumentError, ("reduce(): wrong argument type (#{receiver.class}; must be something enumerable.")
|
70
87
|
end
|
88
|
+
|
89
|
+
serving_size = pblock.parameter_count
|
90
|
+
if serving_size != 2
|
91
|
+
raise ArgumentError, "reduce(): block must define 2 parameters; memo, value. Block has #{serving_size}; "+
|
92
|
+
pblock.parameter_names.join(', ')
|
93
|
+
end
|
94
|
+
|
71
95
|
if args.length == 3
|
72
|
-
|
96
|
+
enum.reduce(args[1]) {|memo, x| pblock.call(self, memo, x) }
|
73
97
|
else
|
74
|
-
|
98
|
+
enum.reduce {|memo, x| pblock.call(self, memo, x) }
|
75
99
|
end
|
76
100
|
end
|
@@ -7,31 +7,36 @@ Puppet::Parser::Functions::newfunction(
|
|
7
7
|
argument and returns the first argument, or if no block is given returns a new array with a concatenation of
|
8
8
|
the slices.
|
9
9
|
|
10
|
-
This function takes two mandatory arguments: the first, `$a`, should be an Array
|
11
|
-
|
12
|
-
a parameterized block as produced by the puppet syntax:
|
10
|
+
This function takes two mandatory arguments: the first, `$a`, should be an Array, Hash, or something of
|
11
|
+
enumerable type (integer, Integer range, or String), and the second, `$n`, the number of elements to include
|
12
|
+
in each slice. The optional third argument should be a a parameterized block as produced by the puppet syntax:
|
13
13
|
|
14
14
|
$a.slice($n) |$x| { ... }
|
15
|
+
slice($a) |$x| { ... }
|
15
16
|
|
16
17
|
The parameterized block should have either one parameter (receiving an array with the slice), or the same number
|
17
18
|
of parameters as specified by the slice size (each parameter receiving its part of the slice).
|
18
19
|
In case there are fewer remaining elements than the slice size for the last slice it will contain the remaining
|
19
|
-
elements. When the block has multiple parameters, excess parameters are set to :undef for an array
|
20
|
-
empty arrays for a Hash.
|
20
|
+
elements. When the block has multiple parameters, excess parameters are set to :undef for an array or
|
21
|
+
enumerable type, and to empty arrays for a Hash.
|
21
22
|
|
22
23
|
$a.slice(2) |$first, $second| { ... }
|
23
24
|
|
24
|
-
When the first argument is a Hash, each key,value entry is counted as one, e.g, a slice size of 2 will produce
|
25
|
-
an array of two arrays with key, value.
|
25
|
+
When the first argument is a Hash, each `key,value` entry is counted as one, e.g, a slice size of 2 will produce
|
26
|
+
an array of two arrays with key, and value.
|
26
27
|
|
27
28
|
$a.slice(2) |$entry| { notice "first ${$entry[0]}, second ${$entry[1]}" }
|
28
29
|
$a.slice(2) |$first, $second| { notice "first ${first}, second ${second}" }
|
29
30
|
|
30
31
|
When called without a block, the function produces a concatenated result of the slices.
|
31
32
|
|
32
|
-
slice(
|
33
|
+
slice([1,2,3,4,5,6], 2) # produces [[1,2], [3,4], [5,6]]
|
34
|
+
slice(Integer[1,6], 2) # produces [[1,2], [3,4], [5,6]]
|
35
|
+
slice(4,2) # produces [[0,1], [2,3]]
|
36
|
+
slice('hello',2) # produces [[h, e], [l, l], [o]]
|
33
37
|
|
34
|
-
- Since 3.2
|
38
|
+
- Since 3.2 for Array and Hash
|
39
|
+
- Since 3.5 for additional enumerable types
|
35
40
|
- requires `parser = future`.
|
36
41
|
ENDHEREDOC
|
37
42
|
require 'puppet/parser/ast/lambda'
|
@@ -40,28 +45,38 @@ Puppet::Parser::Functions::newfunction(
|
|
40
45
|
def each_Common(o, slice_size, filler, scope, pblock)
|
41
46
|
serving_size = pblock ? pblock.parameter_count : 1
|
42
47
|
if serving_size == 0
|
43
|
-
raise ArgumentError, "
|
48
|
+
raise ArgumentError, "slice(): block must define at least one parameter. Block has 0."
|
44
49
|
end
|
45
50
|
unless serving_size == 1 || serving_size == slice_size
|
46
|
-
raise ArgumentError, "
|
51
|
+
raise ArgumentError, "slice(): block must define one parameter, or " +
|
52
|
+
"the same number of parameters as the given size of the slice (#{slice_size}). Block has #{serving_size}; "+
|
53
|
+
pblock.parameter_names.join(', ')
|
47
54
|
end
|
48
55
|
enumerator = o.each_slice(slice_size)
|
49
56
|
result = []
|
50
57
|
if serving_size == 1
|
51
|
-
|
58
|
+
begin
|
52
59
|
if pblock
|
53
|
-
|
60
|
+
loop do
|
61
|
+
pblock.call(scope, enumerator.next)
|
62
|
+
end
|
54
63
|
else
|
55
|
-
|
64
|
+
loop do
|
65
|
+
result << enumerator.next
|
66
|
+
end
|
56
67
|
end
|
68
|
+
rescue StopIteration
|
57
69
|
end
|
58
70
|
else
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
71
|
+
begin
|
72
|
+
loop do
|
73
|
+
a = enumerator.next
|
74
|
+
if a.size < serving_size
|
75
|
+
a = a.dup.fill(filler, a.length...serving_size)
|
76
|
+
end
|
77
|
+
pblock.call(scope, *a)
|
63
78
|
end
|
64
|
-
|
79
|
+
rescue StopIteration
|
65
80
|
end
|
66
81
|
end
|
67
82
|
if pblock
|
@@ -70,6 +85,7 @@ Puppet::Parser::Functions::newfunction(
|
|
70
85
|
result
|
71
86
|
end
|
72
87
|
end
|
88
|
+
|
73
89
|
raise ArgumentError, ("slice(): wrong number of arguments (#{args.length}; must be 2 or 3)") unless args.length == 2 || args.length == 3
|
74
90
|
if args.length >= 2
|
75
91
|
begin
|
@@ -84,14 +100,17 @@ Puppet::Parser::Functions::newfunction(
|
|
84
100
|
|
85
101
|
# the block is optional, ok if nil, function then produces an array
|
86
102
|
pblock = args[2]
|
87
|
-
raise ArgumentError, ("slice(): wrong argument type (#{args[2].class}; must be a parameterized block.") unless pblock.
|
103
|
+
raise ArgumentError, ("slice(): wrong argument type (#{args[2].class}; must be a parameterized block.") unless pblock.respond_to?(:puppet_lambda) || args.length == 2
|
88
104
|
|
89
105
|
case receiver
|
90
|
-
when Array
|
91
|
-
each_Common(receiver, slice_size, :undef, self, pblock)
|
92
106
|
when Hash
|
93
107
|
each_Common(receiver, slice_size, [], self, pblock)
|
94
108
|
else
|
95
|
-
|
109
|
+
enum = Puppet::Pops::Types::Enumeration.enumerator(receiver)
|
110
|
+
if enum.nil?
|
111
|
+
raise ArgumentError, ("slice(): given type '#{tc.string(receiver)}' is not enumerable")
|
112
|
+
end
|
113
|
+
result = each_Common(enum, slice_size, :undef, self, pblock)
|
114
|
+
pblock ? receiver : result
|
96
115
|
end
|
97
116
|
end
|
@@ -738,6 +738,7 @@ regex: REGEX {
|
|
738
738
|
}
|
739
739
|
|
740
740
|
hash: LBRACE hashpairs RBRACE {
|
741
|
+
@lexer.commentpop
|
741
742
|
if val[1].instance_of?(AST::ASTHash)
|
742
743
|
result = val[1]
|
743
744
|
else
|
@@ -745,12 +746,14 @@ hash: LBRACE hashpairs RBRACE {
|
|
745
746
|
end
|
746
747
|
}
|
747
748
|
| LBRACE hashpairs COMMA RBRACE {
|
749
|
+
@lexer.commentpop
|
748
750
|
if val[1].instance_of?(AST::ASTHash)
|
749
751
|
result = val[1]
|
750
752
|
else
|
751
753
|
result = ast AST::ASTHash, { :value => val[1] }
|
752
754
|
end
|
753
755
|
} | LBRACE RBRACE {
|
756
|
+
@lexer.commentpop
|
754
757
|
result = ast AST::ASTHash
|
755
758
|
}
|
756
759
|
|
data/lib/puppet/parser/lexer.rb
CHANGED
@@ -347,7 +347,7 @@ class Puppet::Parser::Lexer
|
|
347
347
|
def file=(file)
|
348
348
|
@file = file
|
349
349
|
@line = 1
|
350
|
-
contents = Puppet::FileSystem
|
350
|
+
contents = Puppet::FileSystem.exist?(file) ? Puppet::FileSystem.read(file) : ""
|
351
351
|
@scanner = StringScanner.new(contents)
|
352
352
|
end
|
353
353
|
|
@@ -478,26 +478,27 @@ class Puppet::Parser::Lexer
|
|
478
478
|
next
|
479
479
|
end
|
480
480
|
|
481
|
-
|
482
|
-
lexing_context[:
|
483
|
-
lexing_context[:string_interpolation_depth]
|
481
|
+
final_token_name = final_token.name
|
482
|
+
lexing_context[:after] = final_token_name unless newline
|
483
|
+
lexing_context[:string_interpolation_depth] += 1 if final_token_name == :DQPRE
|
484
|
+
lexing_context[:string_interpolation_depth] -= 1 if final_token_name == :DQPOST
|
484
485
|
|
485
486
|
value = token_value[:value]
|
486
487
|
|
487
|
-
if match = @@pairs[value] and
|
488
|
+
if match = @@pairs[value] and final_token_name != :DQUOTE and final_token_name != :SQUOTE
|
488
489
|
@expected << match
|
489
|
-
elsif exp = @expected[-1] and exp == value and
|
490
|
+
elsif exp = @expected[-1] and exp == value and final_token_name != :DQUOTE and final_token_name != :SQUOTE
|
490
491
|
@expected.pop
|
491
492
|
end
|
492
493
|
|
493
|
-
if
|
494
|
+
if final_token_name == :LBRACE or final_token_name == :LPAREN
|
494
495
|
commentpush
|
495
496
|
end
|
496
|
-
if
|
497
|
+
if final_token_name == :RPAREN
|
497
498
|
commentpop
|
498
499
|
end
|
499
500
|
|
500
|
-
yield [
|
501
|
+
yield [final_token_name, token_value]
|
501
502
|
|
502
503
|
if @previous_token
|
503
504
|
namestack(value) if @previous_token.name == :CLASS and value != '{'
|
data/lib/puppet/parser/parser.rb
CHANGED
@@ -20,7 +20,7 @@ module Puppet
|
|
20
20
|
module Parser
|
21
21
|
class Parser < Racc::Parser
|
22
22
|
|
23
|
-
module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra',
|
23
|
+
module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 799)
|
24
24
|
|
25
25
|
# It got too annoying having code in a file that needs to be compiled.
|
26
26
|
require 'puppet/parser/parser_support'
|
@@ -2462,7 +2462,8 @@ module_eval(<<'.,.,', 'grammar.ra', 736)
|
|
2462
2462
|
|
2463
2463
|
module_eval(<<'.,.,', 'grammar.ra', 740)
|
2464
2464
|
def _reduce_230(val, _values, result)
|
2465
|
-
|
2465
|
+
@lexer.commentpop
|
2466
|
+
if val[1].instance_of?(AST::ASTHash)
|
2466
2467
|
result = val[1]
|
2467
2468
|
else
|
2468
2469
|
result = ast AST::ASTHash, { :value => val[1] }
|
@@ -2472,9 +2473,10 @@ module_eval(<<'.,.,', 'grammar.ra', 740)
|
|
2472
2473
|
end
|
2473
2474
|
.,.,
|
2474
2475
|
|
2475
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2476
|
+
module_eval(<<'.,.,', 'grammar.ra', 748)
|
2476
2477
|
def _reduce_231(val, _values, result)
|
2477
|
-
|
2478
|
+
@lexer.commentpop
|
2479
|
+
if val[1].instance_of?(AST::ASTHash)
|
2478
2480
|
result = val[1]
|
2479
2481
|
else
|
2480
2482
|
result = ast AST::ASTHash, { :value => val[1] }
|
@@ -2484,9 +2486,10 @@ module_eval(<<'.,.,', 'grammar.ra', 747)
|
|
2484
2486
|
end
|
2485
2487
|
.,.,
|
2486
2488
|
|
2487
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2489
|
+
module_eval(<<'.,.,', 'grammar.ra', 755)
|
2488
2490
|
def _reduce_232(val, _values, result)
|
2489
|
-
|
2491
|
+
@lexer.commentpop
|
2492
|
+
result = ast AST::ASTHash
|
2490
2493
|
|
2491
2494
|
result
|
2492
2495
|
end
|
@@ -2494,7 +2497,7 @@ module_eval(<<'.,.,', 'grammar.ra', 753)
|
|
2494
2497
|
|
2495
2498
|
# reduce 233 omitted
|
2496
2499
|
|
2497
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2500
|
+
module_eval(<<'.,.,', 'grammar.ra', 761)
|
2498
2501
|
def _reduce_234(val, _values, result)
|
2499
2502
|
if val[0].instance_of?(AST::ASTHash)
|
2500
2503
|
result = val[0].merge(val[2])
|
@@ -2507,7 +2510,7 @@ module_eval(<<'.,.,', 'grammar.ra', 758)
|
|
2507
2510
|
end
|
2508
2511
|
.,.,
|
2509
2512
|
|
2510
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2513
|
+
module_eval(<<'.,.,', 'grammar.ra', 770)
|
2511
2514
|
def _reduce_235(val, _values, result)
|
2512
2515
|
result = ast AST::ASTHash, { :value => { val[0] => val[2] } }
|
2513
2516
|
|
@@ -2515,21 +2518,21 @@ module_eval(<<'.,.,', 'grammar.ra', 767)
|
|
2515
2518
|
end
|
2516
2519
|
.,.,
|
2517
2520
|
|
2518
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2521
|
+
module_eval(<<'.,.,', 'grammar.ra', 773)
|
2519
2522
|
def _reduce_236(val, _values, result)
|
2520
2523
|
result = val[0][:value]
|
2521
2524
|
result
|
2522
2525
|
end
|
2523
2526
|
.,.,
|
2524
2527
|
|
2525
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2528
|
+
module_eval(<<'.,.,', 'grammar.ra', 774)
|
2526
2529
|
def _reduce_237(val, _values, result)
|
2527
2530
|
result = val[0]
|
2528
2531
|
result
|
2529
2532
|
end
|
2530
2533
|
.,.,
|
2531
2534
|
|
2532
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2535
|
+
module_eval(<<'.,.,', 'grammar.ra', 777)
|
2533
2536
|
def _reduce_238(val, _values, result)
|
2534
2537
|
result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2]
|
2535
2538
|
|
@@ -2539,7 +2542,7 @@ module_eval(<<'.,.,', 'grammar.ra', 774)
|
|
2539
2542
|
|
2540
2543
|
# reduce 239 omitted
|
2541
2544
|
|
2542
|
-
module_eval(<<'.,.,', 'grammar.ra',
|
2545
|
+
module_eval(<<'.,.,', 'grammar.ra', 782)
|
2543
2546
|
def _reduce_240(val, _values, result)
|
2544
2547
|
result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2]
|
2545
2548
|
|