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.



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

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

Instance Attribute Details

#fromObject

Start of range *Required



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

def from
  @from
end

#toObject

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



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

def to
  @to
end

Instance Method Details

#<=>(other) ⇒ Object



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

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

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


740
741
742
# File 'lib/nexpose/site.rb', line 740

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

#hashObject



744
745
746
# File 'lib/nexpose/site.rb', line 744

def hash
  to_xml.hash
end

#to_xmlObject



754
755
756
# File 'lib/nexpose/site.rb', line 754

def to_xml
  to_xml_elem.to_s
end

#to_xml_elemObject



748
749
750
751
752
# File 'lib/nexpose/site.rb', line 748

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