Class: Nexpose::IPRange

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/nexpose/site.rb

Overview

Description

Object that represents a single IP address or an inclusive range of IP addresses. If to is nil then the from field will be used to specify a single IP Address only.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(from, to = nil) ⇒ IPRange

Returns a new instance of IPRange.



717
718
719
720
# File 'lib/nexpose/site.rb', line 717

def initialize(from, to = nil)
  @from = IPAddr.new(from)
  @to = IPAddr.new(to) if to
end

Instance Attribute Details

#fromObject

Start of range *Required



713
714
715
# File 'lib/nexpose/site.rb', line 713

def from
  @from
end

#toObject

End of range *Optional (If nil then IPRange is a single IP Address)



715
716
717
# File 'lib/nexpose/site.rb', line 715

def to
  @to
end

Instance Method Details

#<=>(other) ⇒ Object



724
725
726
# File 'lib/nexpose/site.rb', line 724

def <=>(other)
  to_xml <=> other.to_xml
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


728
729
730
# File 'lib/nexpose/site.rb', line 728

def eql?(other)
  to_xml == other.to_xml
end

#hashObject



732
733
734
# File 'lib/nexpose/site.rb', line 732

def hash
  to_xml.hash
end

#to_xmlObject



742
743
744
# File 'lib/nexpose/site.rb', line 742

def to_xml
  to_xml_elem.to_s
end

#to_xml_elemObject



736
737
738
739
740
# File 'lib/nexpose/site.rb', line 736

def to_xml_elem
  xml = REXML::Element.new('range')
  xml.add_attributes({'from' => @from, 'to' => @to})
  xml
end