class Puppet::FileSystem::PathPattern
Constants
- ABSOLUTE_UNIX
- ABSOLUTE_WINDOWS
- CURRENT_DRIVE_RELATIVE_WINDOWS
ABSOLUT_VODKA notappearinginthisclass
- TRAVERSAL
Attributes
pathname[R]
Public Class Methods
absolute(pattern)
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 18 def self.absolute(pattern) 19 AbsolutePathPattern.new(pattern) 20 end
new(pattern)
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 60 def initialize(pattern) 61 begin 62 @pathname = Pathname.new(pattern.strip) 63 rescue ArgumentError => error 64 raise InvalidPattern.new(_("PathPatterns cannot be created with a zero byte."), error) 65 end 66 validate 67 end
relative(pattern)
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 14 def self.relative(pattern) 15 RelativePathPattern.new(pattern) 16 end
Public Instance Methods
glob()
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 34 def glob 35 Dir.glob(pathname.to_s) 36 end
prefix_with(prefix)
click to toggle source
@param prefix [AbsolutePathPattern] An absolute path pattern instance @return [AbsolutePathPattern] A new AbsolutePathPattern
prepended with
the passed prefix's pattern.
# File lib/puppet/file_system/path_pattern.rb 29 def prefix_with(prefix) 30 new_pathname = prefix.pathname + pathname 31 self.class.absolute(new_pathname.to_s) 32 end
to_s()
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 38 def to_s 39 pathname.to_s 40 end
Private Instance Methods
validate()
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 48 def validate 49 @pathname.each_filename do |e| 50 if e =~ TRAVERSAL 51 raise(InvalidPattern, _("PathPatterns cannot be created with directory traversals.")) 52 end 53 end 54 case @pathname.to_s 55 when CURRENT_DRIVE_RELATIVE_WINDOWS 56 raise(InvalidPattern, _("A PathPattern cannot be a Windows current drive relative path.")) 57 end 58 end