class DNSCheck::DB

Public Class Methods

[](*args) click to toggle source
# File lib/dns-check/db.rb, line 20
def self.[](*args)
  db = new
  db.instance_variable_set(:@Records, Hash[*args])
  db
end
new() click to toggle source
Calls superclass method
# File lib/dns-check/db.rb, line 13
def initialize
  super
  @Records = Hash.new { |hash, key|
    hash[key] = []
  }
end

Public Instance Methods

[](key) click to toggle source
# File lib/dns-check/db.rb, line 26
def [](key)
  @Records[key]
end
[]=(k, v)
Alias for: add
add(k, v) click to toggle source
# File lib/dns-check/db.rb, line 34
def add(k, v)
  update(k) do |hash|
    hash << v
  end
end
Also aliased as: []=
dump_all() click to toggle source

Can’t marshal hash with default proc

# File lib/dns-check/db.rb, line 42
def dump_all
  return @Records unless @Records.default_proc
  records = @Records.clone
  records.default = nil
  records
end
has_key?(k) click to toggle source
# File lib/dns-check/db.rb, line 57
def has_key? k
  @Records[k] ? true : false
end
keys() click to toggle source
# File lib/dns-check/db.rb, line 49
def keys
  @Records.keys
end
rand_keys() click to toggle source
# File lib/dns-check/db.rb, line 61
def rand_keys
  self.keys.sort_by{rand}
end
update(k) { |@Records| ... } click to toggle source
# File lib/dns-check/db.rb, line 30
def update k
  @Records[k] = yield(@Records[k])
end
values() click to toggle source
# File lib/dns-check/db.rb, line 53
def values
  @Records.values
end