class Puppet::FileSystem::PathPattern
Constants
- ABSOLUTE_UNIX
- ABSOLUTE_WINDOWS
- CURRENT_DRIVE_RELATIVE_WINDOWS
- DOTDOT
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 56 def initialize(pattern) 57 begin 58 @pathname = Pathname.new(pattern.strip) 59 @pathstr = @pathname.to_s 60 rescue ArgumentError => error 61 raise InvalidPattern.new(_("PathPatterns cannot be created with a zero byte."), error) 62 end 63 validate 64 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(@pathstr) 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 @pathstr 40 end
Private Instance Methods
validate()
click to toggle source
# File lib/puppet/file_system/path_pattern.rb 48 def validate 49 if @pathstr.split(Pathname::SEPARATOR_PAT).any? { |f| f == DOTDOT } 50 raise(InvalidPattern, _("PathPatterns cannot be created with directory traversals.")) 51 elsif @pathstr.match?(CURRENT_DRIVE_RELATIVE_WINDOWS) 52 raise(InvalidPattern, _("A PathPattern cannot be a Windows current drive relative path.")) 53 end 54 end