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