class Lib::DHCP::Option53

Public Class Methods

new(message_type) click to toggle source
Calls superclass method Lib::DHCP::Option::new
# File lib/lib/dhcp/options/option53.rb, line 16
def initialize(message_type)
  raise ArgumentError, "Illegal value for DHCP Message Type = #{message_type}" unless (1..255).include? message_type.to_i
  super MESSAGE_TYPE, message_type.to_i
end

Private Class Methods

unpack(oid, len, payload) click to toggle source
# File lib/lib/dhcp/options/option53.rb, line 43
def self.unpack(oid, len, payload)
  raise ArgumentError, "OID Mismatch for #{NAME[oid]} - #{oid}" unless oid.to_i == MESSAGE_TYPE
  raise ArgumentError, "Wrong #{NAME[oid]} length - #{len}" unless len == 1
  self.new payload.unpack('C').first.to_i
end

Public Instance Methods

len() click to toggle source
# File lib/lib/dhcp/options/option53.rb, line 30
def len
  1
end
message_type=(message_type)
Alias for: payload=
pack() click to toggle source
# File lib/lib/dhcp/options/option53.rb, line 26
def pack
  [@oid, 1, @payload].pack('C3')
end
payload=(message_type) click to toggle source
# File lib/lib/dhcp/options/option53.rb, line 21
def payload=(message_type)
  raise ArgumentError, "Illegal value for DHCP Message Type  = #{message_type}" unless (1..255).include? message_type.to_i
  @payload = message_type.to_i
end
Also aliased as: message_type=
to_s() click to toggle source
# File lib/lib/dhcp/options/option53.rb, line 34
def to_s
  Lib::DHCP::Message::NAME[@payload.to_i].to_s.upcase
end