diff --git a/lib/puppet/parser/functions/uriescape.rb b/lib/puppet/parser/functions/uriescape.rb index 128558163..30000f502 100644 --- a/lib/puppet/parser/functions/uriescape.rb +++ b/lib/puppet/parser/functions/uriescape.rb @@ -3,8 +3,6 @@ require 'uri' # # uriescape.rb -# Please note: This function is an implementation of a Ruby class and as such may not be entirely UTF8 compatible. To ensure compatibility please use this function with Ruby 2.4.0 or greater - https://bugs.ruby-lang.org/issues/10085. -# URI.escape has been fully removed as of Ruby 3. Therefore, it will not work as it stand on Puppet 8. Consider deprecating or updating this function. # module Puppet::Parser::Functions newfunction(:uriescape, type: :rvalue, doc: <<-DOC @@ -15,13 +13,8 @@ module Puppet::Parser::Functions @return [String] a string that contains the converted value - > **Note:** **Deprecated:** Starting Puppet 8, our Ruby version has upgraded to 3.2. - Therefore, its no longer possible to call URI.escape as it was deprecated by 2.7 and removed completely by 3+. - This function should be removed once Puppet 7 is no longer supported. DOC ) do |arguments| - raise(Puppet::ParseError, 'Puppet: This function is not available in Puppet 8. URI.escape no longer exists as of Ruby 3+.') if Puppet::Util::Package.versioncmp(Puppet.version, '8').positive? - raise(Puppet::ParseError, "uriescape(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.empty? value = arguments[0] diff --git a/spec/functions/uriescape_spec.rb b/spec/functions/uriescape_spec.rb index 5d7606121..d402697ff 100644 --- a/spec/functions/uriescape_spec.rb +++ b/spec/functions/uriescape_spec.rb @@ -39,9 +39,5 @@ it { is_expected.to run.with_params(['one}', 'two']).and_return(['one%7D', 'two']) } it { is_expected.to run.with_params(['one}', 1, true, {}, 'two']).and_return(['one%7D', 1, true, {}, 'two']) } end - else - describe 'raising errors in Puppet 8' do - it { is_expected.to run.with_params([]).and_raise_error(Puppet::ParseError, %r{This function is not available in Puppet 8. URI.escape no longer exists as of Ruby 3+.}) } - end end end