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

Inherits:
Gem::Resolv::DNS::Resource show all
Defined in:
lib/rubygems/vendor/resolv/lib/resolv.rb

Overview

Start Of Authority resource.

Constant Summary collapse

TypeValue =

:nodoc:

6

Constants inherited from Gem::Resolv::DNS::Resource

ClassHash, ClassInsensitiveTypes, ClassValue

Instance Attribute Summary collapse

Attributes inherited from Gem::Resolv::DNS::Resource

#ttl

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Gem::Resolv::DNS::Resource

#==, #eql?, get_class, #hash

Constructor Details

#initialize(mname, rname, serial, refresh, retry_, expire, minimum) ⇒ SOA

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



2274
2275
2276
2277
2278
2279
2280
2281
2282
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2274

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

Instance Attribute Details

#expireObject (readonly)

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



2315
2316
2317
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2315

def expire
  @expire
end

#minimumObject (readonly)

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



2320
2321
2322
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2320

def minimum
  @minimum
end

#mnameObject (readonly)

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



2287
2288
2289
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2287

def mname
  @mname
end

#refreshObject (readonly)

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



2303
2304
2305
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2303

def refresh
  @refresh
end

#retryObject (readonly)

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



2309
2310
2311
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2309

def retry
  @retry
end

#rnameObject (readonly)

The person responsible for this domain name.



2292
2293
2294
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2292

def rname
  @rname
end

#serialObject (readonly)

The version number of the zone file.



2297
2298
2299
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2297

def serial
  @serial
end

Class Method Details

.decode_rdata(msg) ⇒ Object

:nodoc:



2328
2329
2330
2331
2332
2333
2334
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2328

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 Method Details

#encode_rdata(msg) ⇒ Object

:nodoc:



2322
2323
2324
2325
2326
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 2322

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