Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / is_absolute_path.rb
index e64777f..06e9465 100644 (file)
@@ -1,5 +1,8 @@
+#
+# is_absolute_path.rb
+#
 module Puppet::Parser::Functions
 module Puppet::Parser::Functions
-  newfunction(:is_absolute_path, :type => :rvalue, :arity => 1, :doc => <<-'ENDHEREDOC') do |args|
+  newfunction(:is_absolute_path, :type => :rvalue, :arity => 1, :doc => <<-'DOC') do |args|
     Returns boolean true if the string represents an absolute path in the filesystem.  This function works
     for windows and unix style paths.
 
     Returns boolean true if the string represents an absolute path in the filesystem.  This function works
     for windows and unix style paths.
 
@@ -22,16 +25,17 @@ module Puppet::Parser::Functions
         $undefined = undef
         is_absolute_path($undefined)
 
         $undefined = undef
         is_absolute_path($undefined)
 
-  ENDHEREDOC
-    function_deprecation([:is_absolute_path, 'This method is deprecated, please use the stdlib validate_legacy function, with Stdlib::Compat::Absolute_path. There is further documentation for validate_legacy function in the README.'])
+  DOC
+    function_deprecation([:is_absolute_path, 'This method is deprecated, please use the stdlib validate_legacy function,
+                           with Stdlib::Compat::Absolute_path. There is further documentation for validate_legacy function in the README.'])
     require 'puppet/util'
 
     path = args[0]
     # This logic was borrowed from
     # [lib/puppet/file_serving/base.rb](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/file_serving/base.rb)
     # Puppet 2.7 and beyond will have Puppet::Util.absolute_path? Fall back to a back-ported implementation otherwise.
     require 'puppet/util'
 
     path = args[0]
     # This logic was borrowed from
     # [lib/puppet/file_serving/base.rb](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/file_serving/base.rb)
     # Puppet 2.7 and beyond will have Puppet::Util.absolute_path? Fall back to a back-ported implementation otherwise.
-    if Puppet::Util.respond_to?(:absolute_path?) then
-      value = (Puppet::Util.absolute_path?(path, :posix) or Puppet::Util.absolute_path?(path, :windows))
+    if Puppet::Util.respond_to?(:absolute_path?)
+      value = (Puppet::Util.absolute_path?(path, :posix) || Puppet::Util.absolute_path?(path, :windows))
     else
       # This code back-ported from 2.7.x's lib/puppet/util.rb Puppet::Util.absolute_path?
       # Determine in a platform-specific way whether a path is absolute. This
     else
       # This code back-ported from 2.7.x's lib/puppet/util.rb Puppet::Util.absolute_path?
       # Determine in a platform-specific way whether a path is absolute. This
@@ -40,10 +44,10 @@ module Puppet::Parser::Functions
       slash = '[\\\\/]'
       name = '[^\\\\/]+'
       regexes = {
       slash = '[\\\\/]'
       name = '[^\\\\/]+'
       regexes = {
-        :windows => %r!^(([A-Z]:#{slash})|(#{slash}#{slash}#{name}#{slash}#{name})|(#{slash}#{slash}\?#{slash}#{name}))!i,
-        :posix => %r!^/!
+        :windows => %r{^(([A-Z]:#{slash})|(#{slash}#{slash}#{name}#{slash}#{name})|(#{slash}#{slash}\?#{slash}#{name}))}i,
+        :posix => %r{^/},
       }
       }
-      value = (!!(path =~ regexes[:posix])) || (!!(path =~ regexes[:windows]))
+      value = !!(path =~ regexes[:posix]) || !!(path =~ regexes[:windows]) # rubocop:disable Style/DoubleNegation : No alternative known
     end
     value
   end
     end
     value
   end