Class Resolv::IPv4
In: resolv.rb
Parent: Object

Methods

==   create   eql?   hash   inspect   new   to_name   to_s  

Constants

Regex = /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/

Attributes

address  [R] 

Public Class methods

[Source]

# File resolv.rb, line 1717
    def self.create(arg)
      case arg
      when IPv4
        return arg
      when Regex
        if (0..255) === (a = $1.to_i) &&
           (0..255) === (b = $2.to_i) &&
           (0..255) === (c = $3.to_i) &&
           (0..255) === (d = $4.to_i)
          return self.new([a, b, c, d].pack("CCCC"))
        else
          raise ArgumentError.new("IPv4 address with invalid value: " + arg)
        end
      else
        raise ArgumentError.new("cannot interpret as IPv4 address: #{arg.inspect}")
      end
    end

[Source]

# File resolv.rb, line 1735
    def initialize(address)
      unless address.kind_of?(String) && address.length == 4
        raise ArgumentError.new('IPv4 address must be 4 bytes')
      end
      @address = address
    end

Public Instance methods

[Source]

# File resolv.rb, line 1756
    def ==(other)
      return @address == other.address
    end

[Source]

# File resolv.rb, line 1760
    def eql?(other)
      return self == other
    end

[Source]

# File resolv.rb, line 1764
    def hash
      return @address.hash
    end

[Source]

# File resolv.rb, line 1747
    def inspect
      return "#<#{self.class} #{self.to_s}>"
    end

[Source]

# File resolv.rb, line 1751
    def to_name
      return DNS::Name.create(
        '%d.%d.%d.%d.in-addr.arpa.' % @address.unpack('CCCC').reverse)
    end

[Source]

# File resolv.rb, line 1743
    def to_s
      return sprintf("%d.%d.%d.%d", *@address.unpack("CCCC"))
    end

[Validate]

ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.