class Lib::DHCP::Option61
Public Class Methods
new(client_id)
click to toggle source
Calls superclass method
Lib::DHCP::Option::new
# File lib/lib/dhcp/options/option61.rb, line 15 def initialize(client_id) id = client_id.to_s.gsub(/(:|-|\.|,)/,'').to_s#.pack('H*').unpack('C*') super 61, id end
Private Class Methods
unpack(oid, len, payload)
click to toggle source
# File lib/lib/dhcp/options/option61.rb, line 31 def self.unpack(oid, len, payload) raise ArgumentError, "Wrong CLIENT-IDENTIFIER Option length - #{len}" unless len > 0 self.new payload.unpack('H*').first.to_s end
Public Instance Methods
len()
click to toggle source
# File lib/lib/dhcp/options/option61.rb, line 20 def len @payload.size / 2 end
pack()
click to toggle source
# File lib/lib/dhcp/options/option61.rb, line 24 def pack op61 = [@payload.to_s.gsub(/(:|-|\.|,)/,'').to_s].pack('H*').unpack('C*') [61, len, op61.map{|item| item.to_s(16).rjust(2,'0')}.join('')].pack('C2H*') end