123456789_123456789_123456789_123456789_123456789_

Class: Resolv::DNS::Resource::SOA

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: Resolv::DNS::Resource
Defined in: lib/resolv.rb

Overview

Start Of Authority resource.

Constant Summary

::Resolv::DNS::Resource - Inherited

ClassHash, ClassInsensitiveTypes, ClassValue

Class Method Summary

Instance Attribute Summary

  • #expire readonly

    Time in seconds that a secondary name server is to use the data before refreshing from the primary name server.

  • #minimum readonly

    The minimum number of seconds to be used for TTL values in RRs.

  • #mname readonly

    ::Resolv::DNS::Name of the host where the master zone file for this zone resides.

  • #refresh readonly

    How often, in seconds, a secondary name server is to check for updates from the primary name server.

  • #retry readonly

    How often, in seconds, a secondary name server is to retry after a failure to check for a refresh.

  • #rname readonly

    The person responsible for this domain name.

  • #serial readonly

    The version number of the zone file.

::Resolv::DNS::Resource - Inherited

#ttl

Remaining Time To Live for this ::Resolv::DNS::Resource.

Instance Method Summary

Constructor Details

.new(mname, rname, serial, refresh, retry_, expire, minimum) ⇒ SOA

Creates a new SOA record. See the attr documentation for the details of each argument.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2237

def initialize(mname, rname, serial, refresh, retry_, expire, minimum)
  @mname = mname
  @rname = rname
  @serial = serial
  @refresh = refresh
  @retry = retry_
  @expire = expire
  @minimum = minimum
end

Class Method Details

.decode_rdata(msg)

This method is for internal use only.
[ GitHub ]

  
# File 'lib/resolv.rb', line 2291

def self.decode_rdata(msg) # :nodoc:
  mname = msg.get_name
  rname = msg.get_name
  serial, refresh, retry_, expire, minimum = msg.get_unpack('NNNNN')
  return self.new(
    mname, rname, serial, refresh, retry_, expire, minimum)
end

Instance Attribute Details

#expire (readonly)

Time in seconds that a secondary name server is to use the data before refreshing from the primary name server.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2278

attr_reader :expire

#minimum (readonly)

The minimum number of seconds to be used for TTL values in RRs.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2283

attr_reader :minimum

#mname (readonly)

::Resolv::DNS::Name of the host where the master zone file for this zone resides.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2250

attr_reader :mname

#refresh (readonly)

How often, in seconds, a secondary name server is to check for updates from the primary name server.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2266

attr_reader :refresh

#retry (readonly)

How often, in seconds, a secondary name server is to retry after a failure to check for a refresh.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2272

attr_reader :retry

#rname (readonly)

The person responsible for this domain name.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2255

attr_reader :rname

#serial (readonly)

The version number of the zone file.

[ GitHub ]

  
# File 'lib/resolv.rb', line 2260

attr_reader :serial

Instance Method Details

#encode_rdata(msg)

This method is for internal use only.
[ GitHub ]

  
# File 'lib/resolv.rb', line 2285

def encode_rdata(msg) # :nodoc:
  msg.put_name(@mname)
  msg.put_name(@rname)
  msg.put_pack('NNNNN', @serial, @refresh, @retry, @expire, @minimum)
end