class Net::DNS::RR::SOA
Attributes
expire[R]
minimum[R]
mname[R]
refresh[R]
retry[R]
rname[R]
serial[R]
Private Instance Methods
build_pack()
click to toggle source
# File lib/net/dns/rr/soa.rb, line 12 def build_pack @soa_pack = pack_name(@mname) @soa_pack += pack_name(@rname) @soa_pack += [@serial, @refresh, @retry, @expire, @minimum].pack("N5") end
get_data()
click to toggle source
# File lib/net/dns/rr/soa.rb, line 18 def get_data @soa_pack end
get_inspect()
click to toggle source
# File lib/net/dns/rr/soa.rb, line 22 def get_inspect "#{@mname} #{@rname} #{@serial} #{@refresh} #{@retry} #{@expire} #{@minimum}" end
number?(num)
click to toggle source
# File lib/net/dns/rr/soa.rb, line 43 def number?(num) if num.is_a?(Integer) && (num > 0) true else raise ArgumentError, "Wrong format field: #{num} not a number or less than zero" end end
set_type()
click to toggle source
# File lib/net/dns/rr/soa.rb, line 69 def set_type @type = Net::DNS::RR::Types.new("SOA") end
subclass_new_from_binary(data, offset)
click to toggle source
# File lib/net/dns/rr/soa.rb, line 60 def subclass_new_from_binary(data, offset) @mname, offset = dn_expand(data, offset) @rname, offset = dn_expand(data, offset) @serial, @refresh, @retry, @expire, @minimum = data.unpack("@#{offset} N5") offset + 5 * Net::DNS::INT32SZ end
subclass_new_from_hash(args)
click to toggle source
# File lib/net/dns/rr/soa.rb, line 26 def subclass_new_from_hash(args) if args.key? :rdata subclass_new_from_string(args[:rdata]) else %i[mname rname serial refresh retry expire minimum].each do |key| raise ArgumentError, "Missing field :#{key}" unless args.key? key end @mname = args[:mname] if valid? args[:mname] @rname = args[:rname] if valid? args[:rname] @serial = args[:serial] if number? args[:serial] @refresh = args[:refresh] if number? args[:refresh] @retry = args[:retry] if number? args[:retry] @expire = args[:expire] if number? args[:expire] @minimum = args[:minimum] if number? args[:minimum] end end
subclass_new_from_string(str)
click to toggle source
# File lib/net/dns/rr/soa.rb, line 51 def subclass_new_from_string(str) mname, rname, serial, refresh, ret, expire, minimum = str.strip.split(" ") @mname = mname if valid? mname @rname = rname if valid? rname @serial, @refresh, @retry, @expire, @minimum = [serial, refresh, ret, expire, minimum].collect do |i| i.to_i if valid? i.to_i end end