Sha256: 17a2d66bdd84c10503888f52d7767826ea63a9fa365613d2a6b0f03b7da0e72f

Contents?: true

Size: 737 Bytes

Versions: 6

Compression:

Stored size: 737 Bytes

Contents

class Eye::Checker::FileSize < Eye::Checker

  # Check that file size changed (log for example)

  # checks :fsize, :every => 5.seconds, :file => "/tmp/1.log", :times => [3,5], 
  #      :below => 30.kilobytes, :above => 10.kilobytes

  param :file, [String], true
  param :below, [Fixnum, Float]
  param :above, [Fixnum, Float]

  def get_value
    File.size(file) rescue nil
  end

  def human_value(value)
    "#{value.to_i / 1024}Kb"
  end

  def good?(value)
    return true unless previous_value

    diff = value.to_i - previous_value.to_i

    return true if diff < 0 # case when logger nulled

    return false if below && diff > below
    return false if above && diff < above
    return false if diff == 0

    true
  end

end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
reel-eye-0.3.2 lib/eye/checker/file_size.rb
eye-0.3.2 lib/eye/checker/file_size.rb
reel-eye-0.3.1 lib/eye/checker/file_size.rb
eye-0.3.1 lib/eye/checker/file_size.rb
eye-0.3 lib/eye/checker/file_size.rb
eye-0.2.4 lib/eye/checker/file_size.rb