Sha256: e11acd71b3411b47ba851ce68da41927bdd0480ac16f1d6498888072f6503e45

Contents?: true

Size: 1.56 KB

Versions: 10

Compression:

Stored size: 1.56 KB

Contents

module Net # :nodoc:
  module DNS

    class RR

      #
      # = Mail Rename Record (MR)
      #
      # Class for DNS MR resource records.
      #
      class MR < RR

        # Gets the newname value.
        #
        # Returns a String.
        def newname
          @newname
        end

        # Gets the standardized value for this record,
        # represented by the value of <tt>newname</tt>.
        #
        # Returns a String.
        def value
          newname.to_s
        end


        private

          def subclass_new_from_hash(options)
            if options.has_key?(:newname)
              @newname = check_name(options[:newname])
            else
              raise ArgumentError, ":newname field is mandatory"
            end
          end

          def subclass_new_from_string(str)
            @newname = check_name(str)
          end

          def subclass_new_from_binary(data, offset)
            @newname = dn_expand(data,offset)
            offset
          end


          def set_type
            @type = Net::DNS::RR::Types.new("MR")
          end

          def get_inspect
            value
          end


          def check_name(input)
            name = input.to_s
            unless name =~ /(\w\.?)+\s*$/
              raise ArgumentError, "Invalid Domain Name `#{name}'"
            end
            name
          end

          def build_pack
            @newname_pack = pack_name(@newname)
            @rdlength = @newname_pack.size
          end

          def get_data
            @newname_pack
          end

      end

    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
net-dns2-0.8.7 lib/net/dns/rr/mr.rb
net-dns2-0.8.6 lib/net/dns/rr/mr.rb
net-dns2-0.8.5 lib/net/dns/rr/mr.rb
net-dns2-0.8.4 lib/net/dns/rr/mr.rb
net-dns2-0.8.3 lib/net/dns/rr/mr.rb
net-dns2-0.8.2 lib/net/dns/rr/mr.rb
net-dns2-0.8.1 lib/net/dns/rr/mr.rb
net-dns-0.8.0 lib/net/dns/rr/mr.rb
net-dns-0.7.1 lib/net/dns/rr/mr.rb
net-dns-0.7.0 lib/net/dns/rr/mr.rb