puppet 6.14.0 → 6.19.0
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 +4 -4
- data/CODEOWNERS +2 -7
- data/Gemfile +4 -2
- data/Gemfile.lock +36 -34
- data/README.md +3 -4
- data/Rakefile +4 -12
- data/ext/windows/service/daemon.rb +3 -3
- data/lib/puppet.rb +33 -9
- data/lib/puppet/agent.rb +20 -14
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application/agent.rb +25 -9
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +5 -14
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/configurer.rb +68 -24
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/context/trusted_information.rb +14 -8
- data/lib/puppet/daemon.rb +13 -27
- data/lib/puppet/defaults.rb +141 -41
- data/lib/puppet/environments.rb +55 -15
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +46 -16
- data/lib/puppet/face/facts.rb +1 -1
- data/lib/puppet/face/help.rb +29 -3
- data/lib/puppet/face/module/search.rb +5 -0
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/plugin.rb +2 -2
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/http_metadata.rb +14 -2
- data/lib/puppet/file_serving/metadata.rb +4 -1
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_serving/terminus_selector.rb +7 -8
- data/lib/puppet/file_system/file_impl.rb +17 -13
- data/lib/puppet/file_system/uniquefile.rb +12 -16
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/repository.rb +4 -7
- data/lib/puppet/functions/call.rb +1 -1
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reduce.rb +2 -4
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +3 -0
- data/lib/puppet/http/client.rb +215 -60
- data/lib/puppet/http/external_client.rb +90 -0
- data/lib/puppet/http/redirector.rb +43 -7
- data/lib/puppet/http/resolver.rb +43 -3
- data/lib/puppet/http/resolver/server_list.rb +66 -24
- data/lib/puppet/http/resolver/settings.rb +21 -1
- data/lib/puppet/http/resolver/srv.rb +28 -2
- data/lib/puppet/http/response.rb +82 -1
- data/lib/puppet/http/retry_after_handler.rb +39 -0
- data/lib/puppet/http/service.rb +70 -2
- data/lib/puppet/http/service/ca.rb +71 -9
- data/lib/puppet/http/service/compiler.rb +214 -12
- data/lib/puppet/http/service/file_server.rb +106 -5
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/service/report.rb +36 -3
- data/lib/puppet/http/session.rb +60 -8
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/rest.rb +2 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/rest.rb +48 -0
- data/lib/puppet/indirector/file_content/http.rb +5 -0
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/http.rb +28 -8
- data/lib/puppet/indirector/file_metadata/rest.rb +6 -4
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -1
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/yaml.rb +23 -0
- data/lib/puppet/indirector/request.rb +5 -5
- data/lib/puppet/indirector/rest.rb +7 -1
- data/lib/puppet/indirector/status/rest.rb +2 -1
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/metatype/manager.rb +80 -80
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/base_pool.rb +6 -1
- data/lib/puppet/network/http/compression.rb +7 -0
- data/lib/puppet/network/http/connection.rb +2 -0
- data/lib/puppet/network/http/connection_adapter.rb +184 -0
- data/lib/puppet/network/http/nocache_pool.rb +1 -0
- data/lib/puppet/network/http/pool.rb +2 -4
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +2 -1
- data/lib/puppet/node/environment.rb +22 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/catalog_compiler.rb +5 -0
- data/lib/puppet/pal/pal_impl.rb +30 -31
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/leaf.rb +5 -5
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -4
- data/lib/puppet/parser/compiler.rb +43 -33
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
- data/lib/puppet/parser/environment_compiler.rb +4 -1
- data/lib/puppet/parser/functions.rb +18 -9
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/functions/filter.rb +1 -0
- data/lib/puppet/parser/resource.rb +3 -2
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -5
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/issues.rb +5 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +24 -15
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/validation/checker4_0.rb +29 -15
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +3 -3
- data/lib/puppet/provider/package/aix.rb +17 -2
- data/lib/puppet/provider/package/apt.rb +98 -1
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dnfmodule.rb +61 -14
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +45 -9
- data/lib/puppet/provider/package/pacman.rb +2 -5
- data/lib/puppet/provider/package/pip.rb +143 -48
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pip3.rb +0 -2
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +16 -4
- data/lib/puppet/provider/package/portage.rb +2 -2
- data/lib/puppet/provider/package/puppet_gem.rb +11 -2
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/rpm.rb +6 -213
- data/lib/puppet/provider/package/yum.rb +101 -20
- data/lib/puppet/provider/package/zypper.rb +62 -1
- data/lib/puppet/provider/service/systemd.rb +22 -4
- data/lib/puppet/provider/service/windows.rb +23 -7
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +16 -5
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reports/http.rb +15 -9
- data/lib/puppet/resource.rb +2 -1
- data/lib/puppet/resource/type.rb +10 -1
- data/lib/puppet/resource/type_collection.rb +20 -16
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/runtime.rb +25 -2
- data/lib/puppet/settings.rb +20 -6
- data/lib/puppet/ssl.rb +1 -0
- data/lib/puppet/ssl/host.rb +4 -4
- data/lib/puppet/ssl/oids.rb +1 -0
- data/lib/puppet/ssl/ssl_context.rb +2 -2
- data/lib/puppet/ssl/ssl_provider.rb +20 -1
- data/lib/puppet/ssl/state_machine.rb +79 -37
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/ssl/verifier_adapter.rb +9 -1
- data/lib/puppet/test/test_helper.rb +19 -14
- data/lib/puppet/transaction.rb +2 -2
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +14 -10
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +21 -8
- data/lib/puppet/type/file.rb +40 -15
- data/lib/puppet/type/file/checksum.rb +4 -4
- data/lib/puppet/type/file/source.rb +35 -13
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +41 -3
- data/lib/puppet/type/service.rb +59 -8
- data/lib/puppet/type/user.rb +19 -29
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/at_fork.rb +1 -1
- data/lib/puppet/util/autoload.rb +13 -25
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/checksums.rb +19 -4
- data/lib/puppet/util/connection.rb +8 -8
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/fileparsing.rb +2 -2
- data/lib/puppet/util/instance_loader.rb +14 -10
- data/lib/puppet/util/log/destinations.rb +1 -10
- data/lib/puppet/util/package/version/debian.rb +175 -0
- data/lib/puppet/util/package/version/gem.rb +15 -0
- data/lib/puppet/util/package/version/pip.rb +167 -0
- data/lib/puppet/util/package/version/range.rb +53 -0
- data/lib/puppet/util/package/version/range/eq.rb +14 -0
- data/lib/puppet/util/package/version/range/gt.rb +14 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/lt.rb +14 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/min_max.rb +21 -0
- data/lib/puppet/util/package/version/range/simple.rb +11 -0
- data/lib/puppet/util/package/version/rpm.rb +73 -0
- data/lib/puppet/util/pidlock.rb +13 -7
- data/lib/puppet/util/platform.rb +5 -0
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +193 -0
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/util/windows/adsi.rb +2 -2
- data/lib/puppet/util/windows/api_types.rb +60 -33
- data/lib/puppet/util/windows/eventlog.rb +1 -6
- data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
- data/lib/puppet/util/windows/principal.rb +8 -6
- data/lib/puppet/util/windows/process.rb +15 -14
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +5 -4
- data/lib/puppet/util/windows/service.rb +43 -26
- data/lib/puppet/util/windows/sid.rb +3 -3
- data/lib/puppet/util/windows/user.rb +242 -8
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +627 -507
- data/man/man5/puppet.conf.5 +93 -20
- data/man/man8/puppet-agent.8 +7 -4
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +6 -3
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +4 -1
- data/man/man8/puppet-node.8 +4 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +2 -2
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +67 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +48 -0
- data/spec/fixtures/ssl/unknown-ca-key.pem +67 -0
- data/spec/fixtures/ssl/unknown-ca.pem +59 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/dnfmodule/{dnf-module-list-installed.txt → dnf-module-list.txt} +8 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
- data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
- data/spec/integration/application/agent_spec.rb +479 -0
- data/spec/integration/application/apply_spec.rb +279 -150
- data/spec/integration/application/config_spec.rb +74 -0
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +239 -0
- data/spec/integration/application/help_spec.rb +42 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +123 -0
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +27 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/http/client_spec.rb +39 -40
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/indirector/report/yaml.rb +83 -0
- data/spec/integration/network/http_pool_spec.rb +84 -19
- data/spec/integration/node/environment_spec.rb +15 -0
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/type/file_spec.rb +1 -1
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +8 -3
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/integration/util/windows/user_spec.rb +47 -5
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet/test_ca.rb +2 -2
- data/spec/lib/puppet_spec/https.rb +16 -7
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +127 -0
- data/spec/shared_contexts/https.rb +29 -0
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/agent_spec.rb +80 -26
- data/spec/unit/application/agent_spec.rb +12 -9
- data/spec/unit/application/device_spec.rb +2 -2
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +41 -10
- data/spec/unit/application/filebucket_spec.rb +22 -2
- data/spec/unit/application/man_spec.rb +52 -0
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +15 -2
- data/spec/unit/application_spec.rb +9 -4
- data/spec/unit/configurer/downloader_spec.rb +10 -0
- data/spec/unit/configurer/fact_handler_spec.rb +4 -4
- data/spec/unit/configurer_spec.rb +87 -38
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +25 -2
- data/spec/unit/daemon_spec.rb +5 -64
- data/spec/unit/defaults_spec.rb +24 -1
- data/spec/unit/environments_spec.rb +107 -32
- data/spec/unit/face/config_spec.rb +59 -1
- data/spec/unit/face/module/search_spec.rb +17 -0
- data/spec/unit/face/node_spec.rb +2 -2
- data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
- data/spec/unit/file_system/uniquefile_spec.rb +29 -0
- data/spec/unit/file_system_spec.rb +11 -2
- data/spec/unit/http/client_spec.rb +173 -59
- data/spec/unit/http/external_client_spec.rb +201 -0
- data/spec/unit/http/resolver_spec.rb +44 -5
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +27 -5
- data/spec/unit/http/service/compiler_spec.rb +186 -9
- data/spec/unit/http/service/file_server_spec.rb +37 -6
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +5 -4
- data/spec/unit/http/service_spec.rb +3 -4
- data/spec/unit/http/session_spec.rb +48 -12
- data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +82 -2
- data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +15 -14
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/unit/indirector/request_spec.rb +5 -5
- data/spec/unit/indirector/rest_spec.rb +14 -1
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/connection_spec.rb +552 -190
- data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
- data/spec/unit/network/http/pool_spec.rb +3 -3
- data/spec/unit/network/http_pool_spec.rb +63 -57
- data/spec/unit/network/http_spec.rb +1 -1
- data/spec/unit/node/environment_spec.rb +33 -0
- data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +7 -0
- data/spec/unit/parser/scope_spec.rb +1 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +15 -1
- data/spec/unit/pops/loaders/loaders_spec.rb +71 -1
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +1 -11
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/group/windows_adsi_spec.rb +43 -10
- data/spec/unit/provider/package/aix_spec.rb +29 -0
- data/spec/unit/provider/package/apt_spec.rb +107 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +54 -15
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/gem_spec.rb +40 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pacman_spec.rb +6 -21
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +68 -19
- data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
- data/spec/unit/provider/package/pkgng_spec.rb +38 -0
- data/spec/unit/provider/package/portage_spec.rb +5 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +12 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/rpm_spec.rb +0 -212
- data/spec/unit/provider/package/yum_spec.rb +274 -1
- data/spec/unit/provider/package/zypper_spec.rb +98 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +46 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openbsd_spec.rb +9 -0
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +2 -1
- data/spec/unit/provider/service/redhat_spec.rb +10 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +1 -1
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +95 -18
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +50 -14
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/useradd_spec.rb +30 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +85 -3
- data/spec/unit/puppet_pal_2pec.rb +11 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +43 -0
- data/spec/unit/puppet_spec.rb +33 -0
- data/spec/unit/reports/http_spec.rb +70 -52
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource_spec.rb +3 -3
- data/spec/unit/rest/route_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +44 -22
- data/spec/unit/ssl/host_spec.rb +4 -2
- data/spec/unit/ssl/oids_spec.rb +1 -0
- data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
- data/spec/unit/ssl/state_machine_spec.rb +90 -14
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +7 -1
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/file_spec.rb +122 -96
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +218 -8
- data/spec/unit/type/user_spec.rb +32 -3
- data/spec/unit/type_spec.rb +50 -0
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +2 -1
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/checksums_spec.rb +16 -0
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/log/destinations_spec.rb +1 -29
- data/spec/unit/util/package/version/debian_spec.rb +83 -0
- data/spec/unit/util/package/version/pip_spec.rb +464 -0
- data/spec/unit/util/package/version/range_spec.rb +175 -0
- data/spec/unit/util/package/version/rpm_spec.rb +121 -0
- data/spec/unit/util/pidlock_spec.rb +83 -47
- data/spec/unit/util/rpm_compare_spec.rb +196 -0
- data/spec/unit/util/run_mode_spec.rb +6 -6
- data/spec/unit/util/windows/adsi_spec.rb +4 -4
- data/spec/unit/util/windows/api_types_spec.rb +104 -40
- data/spec/unit/util/windows/service_spec.rb +4 -4
- data/spec/unit/util/windows/sid_spec.rb +2 -2
- data/spec/unit/util_spec.rb +3 -3
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- data/tasks/generate_cert_fixtures.rake +15 -1
- data/tasks/manpages.rake +5 -35
- metadata +90 -51
- data/spec/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/faces/plugin_spec.rb +0 -63
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -64
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/integration/test/test_helper_spec.rb +0 -31
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/man_spec.rb +0 -31
@@ -138,7 +138,10 @@ class Puppet::FileServing::Metadata < Puppet::FileServing::Base
|
|
138
138
|
@source = data.delete('source')
|
139
139
|
@content_uri = data.delete('content_uri')
|
140
140
|
|
141
|
-
|
141
|
+
links = data.fetch('links', nil) || data.fetch(:links, nil)
|
142
|
+
relative_path = data.fetch('relative_path', nil) || data.fetch(:relative_path, nil)
|
143
|
+
source = @source || data.fetch(:source, nil)
|
144
|
+
super(path, links: links, relative_path: relative_path, source: source)
|
142
145
|
end
|
143
146
|
|
144
147
|
def to_data_hash
|
@@ -17,14 +17,13 @@ class Puppet::FileServing::Mount::Locales < Puppet::FileServing::Mount
|
|
17
17
|
def search(relative_path, request)
|
18
18
|
# We currently only support one kind of search on locales - return
|
19
19
|
# them all.
|
20
|
-
Puppet.debug("Warning: calling Locales.search with empty module path.") if request.environment.modules.empty?
|
21
20
|
paths = request.environment.modules.find_all { |mod| mod.locales? }.collect { |mod| mod.locale_directory }
|
22
21
|
if paths.empty?
|
23
22
|
# If the modulepath is valid then we still need to return a valid root
|
24
23
|
# directory for the search, but make sure nothing inside it is
|
25
24
|
# returned.
|
26
25
|
request.options[:recurse] = false
|
27
|
-
request.environment.modulepath.empty? ?
|
26
|
+
request.environment.modulepath.empty? ? [Puppet[:codedir]] : request.environment.modulepath
|
28
27
|
else
|
29
28
|
paths
|
30
29
|
end
|
@@ -17,14 +17,13 @@ class Puppet::FileServing::Mount::PluginFacts < Puppet::FileServing::Mount
|
|
17
17
|
def search(relative_path, request)
|
18
18
|
# We currently only support one kind of search on plugins - return
|
19
19
|
# them all.
|
20
|
-
Puppet.debug("Warning: calling Plugins.search with empty module path.") if request.environment.modules.empty?
|
21
20
|
paths = request.environment.modules.find_all { |mod| mod.pluginfacts? }.collect { |mod| mod.plugin_fact_directory }
|
22
21
|
if paths.empty?
|
23
22
|
# If the modulepath is valid then we still need to return a valid root
|
24
23
|
# directory for the search, but make sure nothing inside it is
|
25
24
|
# returned.
|
26
25
|
request.options[:recurse] = false
|
27
|
-
request.environment.modulepath.empty? ?
|
26
|
+
request.environment.modulepath.empty? ? [Puppet[:codedir]] : request.environment.modulepath
|
28
27
|
else
|
29
28
|
paths
|
30
29
|
end
|
@@ -17,14 +17,13 @@ class Puppet::FileServing::Mount::Plugins < Puppet::FileServing::Mount
|
|
17
17
|
def search(relative_path, request)
|
18
18
|
# We currently only support one kind of search on plugins - return
|
19
19
|
# them all.
|
20
|
-
Puppet.debug("Warning: calling Plugins.search with empty module path.") if request.environment.modules.empty?
|
21
20
|
paths = request.environment.modules.find_all { |mod| mod.plugins? }.collect { |mod| mod.plugin_directory }
|
22
21
|
if paths.empty?
|
23
22
|
# If the modulepath is valid then we still need to return a valid root
|
24
23
|
# directory for the search, but make sure nothing inside it is
|
25
24
|
# returned.
|
26
25
|
request.options[:recurse] = false
|
27
|
-
request.environment.modulepath.empty? ?
|
26
|
+
request.environment.modulepath.empty? ? [Puppet[:codedir]] : request.environment.modulepath
|
28
27
|
else
|
29
28
|
paths
|
30
29
|
end
|
@@ -7,11 +7,6 @@ module Puppet::FileServing::TerminusSelector
|
|
7
7
|
def select(request)
|
8
8
|
# We rely on the request's parsing of the URI.
|
9
9
|
|
10
|
-
# Short-circuit to :file if it's a fully-qualified path or specifies a 'file' protocol.
|
11
|
-
if Puppet::Util.absolute_path?(request.key)
|
12
|
-
return :file
|
13
|
-
end
|
14
|
-
|
15
10
|
case request.protocol
|
16
11
|
when "file"
|
17
12
|
:file
|
@@ -21,10 +16,14 @@ module Puppet::FileServing::TerminusSelector
|
|
21
16
|
else
|
22
17
|
Puppet[:default_file_terminus]
|
23
18
|
end
|
24
|
-
|
25
|
-
|
19
|
+
when "http","https"
|
20
|
+
:http
|
26
21
|
when nil
|
27
|
-
|
22
|
+
if Puppet::Util.absolute_path?(request.key)
|
23
|
+
:file
|
24
|
+
else
|
25
|
+
:file_server
|
26
|
+
end
|
28
27
|
else
|
29
28
|
raise ArgumentError, _("URI protocol '%{protocol}' is not currently supported for file serving") % { protocol: request.protocol }
|
30
29
|
end
|
@@ -54,12 +54,12 @@ class Puppet::FileSystem::FileImpl
|
|
54
54
|
while !written
|
55
55
|
::File.open(path, options, mode) do |rf|
|
56
56
|
if rf.flock(::File::LOCK_EX|::File::LOCK_NB)
|
57
|
-
Puppet.debug
|
57
|
+
Puppet.debug{ _("Locked '%{path}'") % { path: path } }
|
58
58
|
yield rf
|
59
59
|
written = true
|
60
|
-
Puppet.debug
|
60
|
+
Puppet.debug{ _("Unlocked '%{path}'") % { path: path } }
|
61
61
|
else
|
62
|
-
Puppet.debug
|
62
|
+
Puppet.debug{ "Failed to lock '%s' retrying in %.2f milliseconds" % [path, wait * 1000] }
|
63
63
|
sleep wait
|
64
64
|
timeout -= wait
|
65
65
|
wait *= 2
|
@@ -80,7 +80,7 @@ class Puppet::FileSystem::FileImpl
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def read(path, opts = {})
|
83
|
-
path.read(opts)
|
83
|
+
path.read(**opts)
|
84
84
|
end
|
85
85
|
|
86
86
|
def read_preserve_line_endings(path)
|
@@ -124,7 +124,7 @@ class Puppet::FileSystem::FileImpl
|
|
124
124
|
end
|
125
125
|
|
126
126
|
def symlink(path, dest, options = {})
|
127
|
-
FileUtils.symlink(path, dest, options)
|
127
|
+
FileUtils.symlink(path, dest, **options)
|
128
128
|
end
|
129
129
|
|
130
130
|
def symlink?(path)
|
@@ -156,12 +156,14 @@ class Puppet::FileSystem::FileImpl
|
|
156
156
|
end
|
157
157
|
|
158
158
|
def replace_file(path, mode = nil)
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
159
|
+
begin
|
160
|
+
stat = Puppet::FileSystem.lstat(path)
|
161
|
+
gid = stat.gid
|
162
|
+
uid = stat.uid
|
163
|
+
mode ||= stat.mode & 07777
|
164
|
+
rescue Errno::ENOENT
|
165
|
+
mode ||= 0640
|
166
|
+
end
|
165
167
|
|
166
168
|
tempfile = Puppet::FileSystem::Uniquefile.new(Puppet::FileSystem.basename_string(path), Puppet::FileSystem.dir_string(path))
|
167
169
|
begin
|
@@ -173,8 +175,10 @@ class Puppet::FileSystem::FileImpl
|
|
173
175
|
tempfile.close
|
174
176
|
end
|
175
177
|
|
176
|
-
|
177
|
-
|
178
|
+
tempfile_path = tempfile.path
|
179
|
+
FileUtils.chown(uid, gid, tempfile_path) if uid && gid
|
180
|
+
chmod(mode, tempfile_path)
|
181
|
+
File.rename(tempfile_path, Puppet::FileSystem.path_string(path))
|
178
182
|
ensure
|
179
183
|
tempfile.close!
|
180
184
|
end
|
@@ -124,11 +124,7 @@ class Puppet::FileSystem::Uniquefile < DelegateClass(File)
|
|
124
124
|
opts = []
|
125
125
|
end
|
126
126
|
tmpdir, = *rest
|
127
|
-
|
128
|
-
tmpdir = '/tmp'
|
129
|
-
else
|
130
|
-
tmpdir ||= tmpdir()
|
131
|
-
end
|
127
|
+
tmpdir ||= tmpdir()
|
132
128
|
n = nil
|
133
129
|
begin
|
134
130
|
path = File.expand_path(make_tmpname(basename, n), tmpdir)
|
@@ -154,18 +150,14 @@ class Puppet::FileSystem::Uniquefile < DelegateClass(File)
|
|
154
150
|
|
155
151
|
def tmpdir
|
156
152
|
tmp = '.'
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
tmp = dir
|
164
|
-
break
|
165
|
-
end rescue nil
|
166
|
-
end
|
167
|
-
File.expand_path(tmp)
|
153
|
+
for dir in [ Puppet::Util.get_env('TMPDIR'), Puppet::Util.get_env('TMP'), Puppet::Util.get_env('TEMP'), @@systmpdir, '/tmp']
|
154
|
+
stat = File.stat(dir) if dir
|
155
|
+
if stat && stat.directory? && stat.writable?
|
156
|
+
tmp = dir
|
157
|
+
break
|
158
|
+
end rescue nil
|
168
159
|
end
|
160
|
+
File.expand_path(tmp)
|
169
161
|
end
|
170
162
|
|
171
163
|
|
@@ -176,6 +168,10 @@ class Puppet::FileSystem::Uniquefile < DelegateClass(File)
|
|
176
168
|
lock = tmpname + '.lock'
|
177
169
|
mkdir(lock)
|
178
170
|
yield
|
171
|
+
rescue Errno::ENOENT => e
|
172
|
+
ex = Errno::ENOENT.new("A directory component in #{lock} does not exist or is a dangling symbolic link")
|
173
|
+
ex.set_backtrace(e.backtrace)
|
174
|
+
raise ex
|
179
175
|
ensure
|
180
176
|
rmdir(lock) if Puppet::FileSystem.exist?(lock)
|
181
177
|
end
|
data/lib/puppet/forge.rb
CHANGED
data/lib/puppet/forge/cache.rb
CHANGED
@@ -25,7 +25,7 @@ class Puppet::Forge
|
|
25
25
|
unless cached_file.file?
|
26
26
|
if uri.scheme == 'file'
|
27
27
|
# CGI.unescape butchers Uris that are escaped properly
|
28
|
-
FileUtils.cp(
|
28
|
+
FileUtils.cp(Puppet::Util.uri_unescape(uri.path), cached_file)
|
29
29
|
else
|
30
30
|
# TODO: Handle HTTPS; probably should use repository.contact
|
31
31
|
data = read_retrieve(uri)
|
@@ -37,18 +37,15 @@ class Puppet::Forge
|
|
37
37
|
uri = URI(str)
|
38
38
|
|
39
39
|
headers = { "User-Agent" => user_agent }
|
40
|
-
user = nil
|
41
|
-
password = nil
|
42
40
|
|
43
41
|
if forge_authorization
|
42
|
+
uri.user = nil
|
43
|
+
uri.password = nil
|
44
44
|
headers["Authorization"] = forge_authorization
|
45
|
-
elsif @uri.user && @uri.password
|
46
|
-
user = @uri.user
|
47
|
-
password = @uri.password
|
48
45
|
end
|
49
46
|
|
50
|
-
http = Puppet.runtime[
|
51
|
-
response = http.get(uri, headers: headers,
|
47
|
+
http = Puppet.runtime[:http]
|
48
|
+
response = http.get(uri, headers: headers, options: {ssl_context: @ssl_context})
|
52
49
|
io.write(response.body) if io.respond_to?(:write)
|
53
50
|
response
|
54
51
|
rescue Puppet::SSL::CertVerifyError => e
|
@@ -38,6 +38,7 @@
|
|
38
38
|
# $data = { "orange" => 0, "blueberry" => 1, "raspberry" => 2 }
|
39
39
|
# $filtered_data = $data.filter |$items| { $items[0] =~ /berry$/ }
|
40
40
|
# # $filtered_data = {blueberry => 1, raspberry => 2}
|
41
|
+
# ```
|
41
42
|
#
|
42
43
|
# When the first argument is an array and the lambda has two parameters, Puppet passes the
|
43
44
|
# array's indexes (enumerated from 0) in the first parameter and its values in the second
|
@@ -12,15 +12,15 @@
|
|
12
12
|
#
|
13
13
|
# @example Removing leading space from a String
|
14
14
|
# ```puppet
|
15
|
-
# "\n\thello".lstrip()
|
16
|
-
#
|
15
|
+
# "\n\thello ".lstrip()
|
16
|
+
# lstrip("\n\thello ")
|
17
17
|
# ```
|
18
18
|
# Would both result in `"hello"`
|
19
19
|
#
|
20
20
|
# @example Removing leading space from strings in an Array
|
21
21
|
# ```puppet
|
22
|
-
# ["\n\thello", "\n\thi"].lstrip()
|
23
|
-
# lstrip(["\n\thello", "\n\thi"])
|
22
|
+
# ["\n\thello ", "\n\thi "].lstrip()
|
23
|
+
# lstrip(["\n\thello ", "\n\thi "])
|
24
24
|
# ```
|
25
25
|
# Would both result in `['hello', 'hi']`
|
26
26
|
#
|
data/lib/puppet/functions/new.rb
CHANGED
@@ -991,12 +991,17 @@ Puppet::Functions.create_function(:new, Puppet::Functions::InternalFunction) do
|
|
991
991
|
|
992
992
|
def new_instance(scope, t, *args)
|
993
993
|
return args[0] if args.size == 1 && !t.is_a?(Puppet::Pops::Types::PInitType) && t.instance?(args[0])
|
994
|
-
result = assert_type(t, new_function_for_type(t
|
994
|
+
result = assert_type(t, new_function_for_type(t).call(scope, *args))
|
995
995
|
return block_given? ? yield(result) : result
|
996
996
|
end
|
997
997
|
|
998
|
-
def new_function_for_type(t
|
999
|
-
@new_function_cache ||=
|
998
|
+
def new_function_for_type(t)
|
999
|
+
@new_function_cache ||= {}
|
1000
|
+
|
1001
|
+
unless @new_function_cache.key?(t)
|
1002
|
+
@new_function_cache[t] = t.new_function.new(nil, loader)
|
1003
|
+
end
|
1004
|
+
|
1000
1005
|
@new_function_cache[t]
|
1001
1006
|
end
|
1002
1007
|
|
@@ -39,11 +39,9 @@
|
|
39
39
|
# values to the lambda.
|
40
40
|
#
|
41
41
|
# Puppet calls the lambda for each of the data structure's remaining values. For each
|
42
|
-
# call, it passes the result of the previous call as the first parameter (
|
42
|
+
# call, it passes the result of the previous call as the first parameter (`$memo` in the
|
43
43
|
# above examples) and the next value from the data structure as the second parameter
|
44
|
-
# (
|
45
|
-
#
|
46
|
-
# If the structure has one value, Puppet returns the value and does not call the lambda.
|
44
|
+
# (`$value`).
|
47
45
|
#
|
48
46
|
# @example Using the `reduce` function
|
49
47
|
#
|
@@ -84,7 +84,7 @@ Puppet::Functions.create_function(:reverse_each) do
|
|
84
84
|
|
85
85
|
def reverse_each(iterable)
|
86
86
|
# produces an Iterable
|
87
|
-
Puppet::Pops::Types::Iterable.asserted_iterable(self, iterable).reverse_each
|
87
|
+
Puppet::Pops::Types::Iterable.asserted_iterable(self, iterable, true).reverse_each
|
88
88
|
end
|
89
89
|
|
90
90
|
def reverse_each_block(iterable, &block)
|
@@ -12,15 +12,15 @@
|
|
12
12
|
#
|
13
13
|
# @example Removing trailing space from a String
|
14
14
|
# ```puppet
|
15
|
-
# "hello\n\t".
|
16
|
-
#
|
15
|
+
# " hello\n\t".rstrip()
|
16
|
+
# rstrip(" hello\n\t")
|
17
17
|
# ```
|
18
18
|
# Would both result in `"hello"`
|
19
19
|
#
|
20
20
|
# @example Removing trailing space from strings in an Array
|
21
21
|
# ```puppet
|
22
|
-
# ["hello\n\t", "hi\n\t"].
|
23
|
-
#
|
22
|
+
# [" hello\n\t", " hi\n\t"].rstrip()
|
23
|
+
# rstrip([" hello\n\t", " hi\n\t"])
|
24
24
|
# ```
|
25
25
|
# Would both result in `['hello', 'hi']`
|
26
26
|
#
|
@@ -88,7 +88,7 @@ Puppet::Functions.create_function(:step) do
|
|
88
88
|
|
89
89
|
def step(iterable, step)
|
90
90
|
# produces an Iterable
|
91
|
-
Puppet::Pops::Types::Iterable.asserted_iterable(self, iterable).step(step)
|
91
|
+
Puppet::Pops::Types::Iterable.asserted_iterable(self, iterable, true).step(step)
|
92
92
|
end
|
93
93
|
|
94
94
|
def step_block(iterable, step, &block)
|
@@ -12,15 +12,15 @@
|
|
12
12
|
#
|
13
13
|
# @example Removing leading and trailing space from a String
|
14
14
|
# ```puppet
|
15
|
-
# " hello\n\t".
|
16
|
-
#
|
15
|
+
# " hello\n\t".strip()
|
16
|
+
# strip(" hello\n\t")
|
17
17
|
# ```
|
18
18
|
# Would both result in `"hello"`
|
19
19
|
#
|
20
20
|
# @example Removing trailing space from strings in an Array
|
21
21
|
# ```puppet
|
22
|
-
# [" hello\n\t", " hi\n\t"].
|
23
|
-
#
|
22
|
+
# [" hello\n\t", " hi\n\t"].strip()
|
23
|
+
# strip([" hello\n\t", " hi\n\t"])
|
24
24
|
# ```
|
25
25
|
# Would both result in `['hello', 'hi']`
|
26
26
|
#
|
@@ -65,7 +65,7 @@ module Puppet::GettextConfig
|
|
65
65
|
return if @gettext_disabled || !gettext_loaded?
|
66
66
|
domain_name = domain_name.to_sym
|
67
67
|
|
68
|
-
Puppet.debug "Reset text domain to #{domain_name.inspect}"
|
68
|
+
Puppet.debug { "Reset text domain to #{domain_name.inspect}" }
|
69
69
|
FastGettext.add_text_domain(domain_name,
|
70
70
|
type: :chain,
|
71
71
|
chain: [],
|
@@ -115,10 +115,10 @@ module Puppet::GettextConfig
|
|
115
115
|
domain_name = domain_name.to_sym
|
116
116
|
|
117
117
|
if FastGettext.translation_repositories.include?(domain_name)
|
118
|
-
Puppet.debug "Use text domain #{domain_name.inspect}"
|
118
|
+
Puppet.debug { "Use text domain #{domain_name.inspect}" }
|
119
119
|
FastGettext.text_domain = domain_name
|
120
120
|
else
|
121
|
-
Puppet.debug "Requested unknown text domain #{domain_name.inspect}"
|
121
|
+
Puppet.debug { "Requested unknown text domain #{domain_name.inspect}" }
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
@@ -139,10 +139,10 @@ module Puppet::GettextConfig
|
|
139
139
|
|
140
140
|
deleted = FastGettext.translation_repositories.delete(domain_name)
|
141
141
|
if FastGettext.text_domain == domain_name
|
142
|
-
Puppet.debug "Deleted current text domain #{domain_name.inspect}: #{!deleted.nil?}"
|
142
|
+
Puppet.debug { "Deleted current text domain #{domain_name.inspect}: #{!deleted.nil?}" }
|
143
143
|
FastGettext.text_domain = nil
|
144
144
|
else
|
145
|
-
Puppet.debug "Deleted text domain #{domain_name.inspect}: #{!deleted.nil?}"
|
145
|
+
Puppet.debug { "Deleted text domain #{domain_name.inspect}: #{!deleted.nil?}" }
|
146
146
|
end
|
147
147
|
end
|
148
148
|
|
@@ -13,9 +13,9 @@ module Puppet::ModuleTranslations
|
|
13
13
|
|
14
14
|
module_name = mod.forge_name.tr('/', '-')
|
15
15
|
if Puppet::GettextConfig.load_translations(module_name, mod.locale_directory, :po)
|
16
|
-
Puppet.debug "Loaded translations for #{module_name}."
|
16
|
+
Puppet.debug { "Loaded translations for #{module_name}." }
|
17
17
|
elsif Puppet::GettextConfig.gettext_loaded?
|
18
|
-
Puppet.debug "Could not find translation files for #{module_name} at #{mod.locale_directory}. Skipping translation initialization."
|
18
|
+
Puppet.debug { "Could not find translation files for #{module_name} at #{mod.locale_directory}. Skipping translation initialization." }
|
19
19
|
else
|
20
20
|
Puppet.warn_once("gettext_unavailable", "gettext_unavailable", "No gettext library found, skipping translation initialization.")
|
21
21
|
end
|
@@ -31,9 +31,9 @@ module Puppet::ModuleTranslations
|
|
31
31
|
Dir.glob("#{vardir}/locales/#{locale}/*.po") do |f|
|
32
32
|
module_name = File.basename(f, ".po")
|
33
33
|
if Puppet::GettextConfig.load_translations(module_name, File.join(vardir, "locales"), :po)
|
34
|
-
Puppet.debug "Loaded translations for #{module_name}."
|
34
|
+
Puppet.debug { "Loaded translations for #{module_name}." }
|
35
35
|
elsif Puppet::GettextConfig.gettext_loaded?
|
36
|
-
Puppet.debug "Could not load translations for #{module_name}."
|
36
|
+
Puppet.debug { "Could not load translations for #{module_name}." }
|
37
37
|
else
|
38
38
|
Puppet.warn_once("gettext_unavailable", "gettext_unavailable", "No gettext library found, skipping translation initialization.")
|
39
39
|
end
|