Class: SNMP::IpAddress
- Inherits:
-
Object
- Object
- SNMP::IpAddress
- Defined in:
- lib/snmp/varbind.rb
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
- #asn1_type ⇒ Object
- #encode ⇒ Object
- #eql?(other) ⇒ Boolean
- #hash ⇒ Object
-
#initialize(value_data) ⇒ IpAddress
constructor
Create an IpAddress object.
- #to_oid ⇒ Object
-
#to_s ⇒ Object
Returns a formatted, dot-separated string representing this IpAddress.
-
#to_str ⇒ Object
Returns a raw four-octet string representing this IpAddress.
Constructor Details
#initialize(value_data) ⇒ IpAddress
Create an IpAddress object. The constructor accepts either a raw four-octet string or a formatted string of integers separated by dots (i.e. “10.1.2.3”).
240 241 242 243 244 245 246 247 248 |
# File 'lib/snmp/varbind.rb', line 240 def initialize(value_data) ip = value_data.to_str if ip.length > 4 ip = parse_string(ip) elsif ip.length != 4 raise InvalidIpAddress, "Expected 4 octets or formatted string, got #{value_data.inspect}" end @value = ip end |
Class Method Details
Instance Method Details
#==(other) ⇒ Object
272 273 274 275 276 277 278 |
# File 'lib/snmp/varbind.rb', line 272 def ==(other) if other.respond_to? :to_str return @value.eql?(other.to_str) else return false end end |
#asn1_type ⇒ Object
231 232 233 |
# File 'lib/snmp/varbind.rb', line 231 def asn1_type "IpAddress" end |
#encode ⇒ Object
288 289 290 |
# File 'lib/snmp/varbind.rb', line 288 def encode encode_tlv(IpAddress_TAG, @value) end |
#eql?(other) ⇒ Boolean
280 281 282 |
# File 'lib/snmp/varbind.rb', line 280 def eql?(other) self == other end |
#hash ⇒ Object
284 285 286 |
# File 'lib/snmp/varbind.rb', line 284 def hash @value.hash end |
#to_oid ⇒ Object
266 267 268 269 270 |
# File 'lib/snmp/varbind.rb', line 266 def to_oid oid = ObjectId.new @value.each_byte { |b| oid << b } oid end |
#to_s ⇒ Object
Returns a formatted, dot-separated string representing this IpAddress.
260 261 262 263 264 |
# File 'lib/snmp/varbind.rb', line 260 def to_s octets = [] @value.each_byte { |b| octets << b.to_s } octets.join('.') end |
#to_str ⇒ Object
Returns a raw four-octet string representing this IpAddress.
253 254 255 |
# File 'lib/snmp/varbind.rb', line 253 def to_str @value.dup end |