class Sniffer::Data

Data class stores the data and controls capacity

Public Instance Methods

store(data_item) click to toggle source
# File lib/sniffer/data.rb, line 6
def store(data_item)
  if config.rotate?
    rotate(data_item)
  else
    push(data_item) unless overflow?
  end
end

Private Instance Methods

config() click to toggle source
# File lib/sniffer/data.rb, line 25
def config
  Sniffer.config
end
overflow?() click to toggle source
# File lib/sniffer/data.rb, line 21
def overflow?
  config.capacity? && length >= config.capacity
end
rotate(data_item) click to toggle source
# File lib/sniffer/data.rb, line 16
def rotate(data_item)
  shift if overflow?
  push(data_item)
end