class DNSer::BaseRecord

Attributes

name[R]
ttl_val[R]
value[R]

Public Class Methods

new(domain, name, *args, &block) click to toggle source
Calls superclass method DNSer::Record::new
# File lib/dnser/records/base.rb, line 7
def initialize domain, name, *args, &block

  params = {}
  params = args.pop if args.last.is_a? Hash

  host = domain.host
  value = nil

  case args.size
    when 2
      host = args[0]
      value = args[1]
    when 1
      value = args[0]
    else
      raise DNSer::Record::EmptyValue.new(name), 'Content must be defined'
  end

  @name = name.to_s.upcase.to_sym
  @value = value
  params = {ttl: domain.ttl}.merge(params)

  params.each do |key, value|
    self.send "#{key}", value if self.respond_to? key
  end

  super domain, host, params
  instance_eval &block  if block_given?
end

Public Instance Methods

ttl(v) click to toggle source
# File lib/dnser/records/base.rb, line 55
def ttl v
  @ttl_val = v
end
type() click to toggle source
# File lib/dnser/records/base.rb, line 37
def type
  self.name
end