class Blondy::DHCPD::Cache

Public Class Methods

add(hwaddr,type, data) click to toggle source
# File lib/blondy/dhcpd/cache.rb, line 7
def add(hwaddr,type, data)
  @cache[type] = Hash.new unless @cache[type]
  @cache[type][hwaddr] = Hash.new unless @cache[type][hwaddr]
  @cache[type][hwaddr][:data] = data
  @cache[type][hwaddr][:time] = Time.now
end
flush() click to toggle source
# File lib/blondy/dhcpd/cache.rb, line 20
def flush
  @cache.clear
end
purge(sec) click to toggle source
# File lib/blondy/dhcpd/cache.rb, line 23
def purge(sec)
  @cache.each do |type, data|
    data.each_key do |hwaddr|
      @cache[type].delete hwaddr if (Time.now - @cache[type][hwaddr][:time]) >= sec
    end
  end
end
query(hwaddr, type) click to toggle source
# File lib/blondy/dhcpd/cache.rb, line 13
def query(hwaddr, type)
  begin
    @cache[type][hwaddr][:data] ? @cache[type][hwaddr] : false
  rescue
    false
  end
end