Class: SNMP::TimeTicks

Inherits:
UnsignedInteger show all
Defined in:
lib/snmp/varbind.rb

Instance Method Summary collapse

Methods inherited from UnsignedInteger

decode, #initialize

Methods inherited from Integer

#<=>, #coerce, decode, #initialize, #to_f, #to_i, #to_oid

Constructor Details

This class inherits a constructor from SNMP::UnsignedInteger

Instance Method Details

#asn1_typeObject



392
393
394
# File 'lib/snmp/varbind.rb', line 392

def asn1_type
  "TimeTicks"
end

#encodeObject



396
397
398
# File 'lib/snmp/varbind.rb', line 396

def encode
  encode_tagged_integer(TimeTicks_TAG, @value)
end

#to_sObject



400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
# File 'lib/snmp/varbind.rb', line 400

def to_s
  days, remainder = @value.divmod(8640000)
  hours, remainder = remainder.divmod(360000)
  minutes, remainder = remainder.divmod(6000)
  seconds, hundredths = remainder.divmod(100)
  case
  when days < 1
    sprintf('%02d:%02d:%02d.%02d',
            hours, minutes, seconds, hundredths)
  when days == 1
    sprintf('1 day, %02d:%02d:%02d.%02d',
            hours, minutes, seconds, hundredths)
  when days > 1
    sprintf('%d days, %02d:%02d:%02d.%02d',
            days, hours, minutes, seconds, hundredths)
  end
end