class BigSister::LocalMonitor

Public Class Methods

new(config, i) click to toggle source
Calls superclass method BigSister::Monitor::new
# File lib/bigsister/monitors/local.rb, line 7
def initialize(config, i)
  @config = config
  @id = i
  @path = config.fetch("path", nil)
  super(config, i)
end

Public Instance Methods

directories() click to toggle source
# File lib/bigsister/monitors/local.rb, line 28
def directories
  res = Dir.entries(@path).select { |file|
    File.directory?(File.join(@path, file))
  }.reject { |dir|
    dir == "." || dir == ".."
  }.map { |dir|
    dir_path = File.join(@path, dir)
    file_count = Dir.entries(dir_path).reject { |file| File.directory?(File.join(dir_path, file)) }.size
    directory_count = Dir.entries(dir_path).select { |file| File.directory?(File.join(dir_path, file)) }.size
    DirectoryInfo.new(
      name: dir,
      path: dir_path,
      file_count: file_count,
      directory_count: directory_count
    )
  }
  res
end
files() click to toggle source
# File lib/bigsister/monitors/local.rb, line 14
def files
  res = Dir.entries(@path).reject { |file|
    File.directory?(File.join(@path, file))
  }.map { |file|
    file_path = File.join(@path, file)
    FileInfo.new(
      name: file,
      path: file_path,
      file_size: File.size(file_path)
    )
  }
  res
end