class FileWatch::Settings

Attributes

check_archive_validity[R]
close_older[R]
delimiter[R]
delimiter_byte_size[R]
discover_interval[R]
exclude[R]
exit_after_read[R]
file_chunk_count[R]
file_chunk_size[R]
file_sort_by[R]
file_sort_direction[R]
ignore_older[R]
lastwarn_max_files[R]
max_active[R]
max_warn_msg[R]
sincedb_expiry_duration[R]
sincedb_path[R]
sincedb_write_interval[R]
start_new_files_at[R]
stat_interval[R]

Public Class Methods

from_options(opts) click to toggle source
# File lib/filewatch/settings.rb, line 14
def self.from_options(opts)
  new.add_options(opts)
end
new() click to toggle source
# File lib/filewatch/settings.rb, line 18
def initialize
  defaults = {
    :delimiter => "\n",
    :file_chunk_size => FILE_READ_SIZE,
    :max_open_files => 4095,
    :file_chunk_count => MAX_ITERATIONS,
    :sincedb_clean_after => 14,
    :exclude => [],
    :stat_interval => 1,
    :discover_interval => 5,
    :file_sort_by => "last_modified",
    :file_sort_direction => "asc",
  }
  @opts = {}
  @lastwarn_max_files = 0
  add_options(defaults)
end

Public Instance Methods

add_options(opts) click to toggle source
# File lib/filewatch/settings.rb, line 36
def add_options(opts)
  @opts.update(opts)
  self.max_open_files = @opts[:max_open_files]
  @delimiter = @opts[:delimiter]
  @delimiter_byte_size = @delimiter.bytesize
  @file_chunk_size = @opts[:file_chunk_size]
  @close_older = @opts[:close_older]
  @ignore_older = @opts[:ignore_older]
  @stat_interval = @opts[:stat_interval]
  @discover_interval = @opts[:discover_interval]
  @exclude = Array(@opts[:exclude])
  @start_new_files_at = @opts[:start_new_files_at]
  @file_chunk_count = @opts[:file_chunk_count]
  @sincedb_path = @opts[:sincedb_path]
  @sincedb_write_interval = @opts[:sincedb_write_interval]
  @sincedb_expiry_duration =  @opts.fetch(:sincedb_clean_after)
  @file_sort_by = @opts[:file_sort_by]
  @file_sort_direction = @opts[:file_sort_direction]
  @exit_after_read = @opts[:exit_after_read]
  @check_archive_validity = @opts[:check_archive_validity]
  self
end
max_open_files=(value) click to toggle source
# File lib/filewatch/settings.rb, line 59
def max_open_files=(value)
  val = value.to_i
  val = 4095 if value.nil? || val <= 0
  @max_warn_msg = "Reached open files limit: #{val}, set by the 'max_open_files' option or default"
  @max_active = val
end