class RbRotate::Directory
Represents one log directory.
Attributes
identifier[R]
path[R]
Public Class Methods
new(identifier, parent = nil)
click to toggle source
Constructor.
Identifier is symbol so identifier in configuration file or string, so directory path.
# File lib/rb.rotate/directory.rb, line 56 def initialize(identifier, parent = nil) @parent = parent if identifier.kind_of? Symbol @identifier = identifier else @path = identifier end end
Public Instance Methods
compressable?()
click to toggle source
Indicates, directory entries should be compressed in archive.
# File lib/rb.rotate/directory.rb, line 187 def compressable? not self.configuration[:compress].nil? end
configuration()
click to toggle source
Returns the configuration instance.
# File lib/rb.rotate/directory.rb, line 69 def configuration if @configuration.nil? # If no identifier set, looks for the dir # in configuration. if @identifier.nil? directory = Configuration::find_path(@path) if not directory.nil? @identifier = directory.identifier @configured = true elsif not @parent.nil? @identifier = @parent.identifier @configured = false else @identifier = :default @configured = false end else @configured = true end @configuration = DirectoryConfiguration::new(@identifier) end return @configuration end
configured?()
click to toggle source
Indicates, it isn’t child directory of configured directory, but directly the configured directory.
# File lib/rb.rotate/directory.rb, line 101 def configured? self.configuration @configured end
configured_ancestor()
click to toggle source
Returns the “nearest” configured ancestor.
# File lib/rb.rotate/directory.rb, line 137 def configured_ancestor if self.configured? self elsif not @parent.nil? @parent.configured_ancestor else nil end end
each_directory(&block)
click to toggle source
Traverses through all directories in directory.
# File lib/rb.rotate/directory.rb, line 159 def each_directory(&block) Reader::read(self, :filter => :dirs, &block) end
each_file(&block)
click to toggle source
Traverses through all files in directory.
# File lib/rb.rotate/directory.rb, line 151 def each_file(&block) Reader::read(self, :filter => :files, &block) end
relative_path()
click to toggle source
Returns relative path to parent (configured) directory.
# File lib/rb.rotate/directory.rb, line 125 def relative_path if self.configured? "." else self.path[(self.configured_ancestor.path.length + 1)..-1] end end
rotate!()
click to toggle source
Rotates.
# File lib/rb.rotate/directory.rb, line 167 def rotate! # Cleans old or expired items # self.storage.cleanup! (cleaned up globally by dispatcher call) # Rotates if self.configuration[:recursive] self.each_directory do |directory| directory.rotate! end end self.each_file do |file| file.rotate! end end
storage()
click to toggle source
Returns storage appropriate to directory.
# File lib/rb.rotate/directory.rb, line 195 def storage Storage::get(self) end