class DHCP::OptListFixedData
Class for DHCP options that contain lists of fixed sized data
Attributes
item_size[RW]
Public Instance Methods
data_to_bin(item)
click to toggle source
# File lib/dhcp/options.rb, line 280 def data_to_bin(item) ## Override in child, but call super(item) ## with the resulting translated data after ## data translation so the size check is ## applied (or do a size check in the child): raise "Invalid data item length #{item.size} (expected #{self.class.item_size})" unless item.size == self.class.item_size item end
split_data(data)
click to toggle source
# File lib/dhcp/options.rb, line 269 def split_data(data) raise "Child class #{self.class} MUST override class item_size variable with non-zero value!" if self.class.item_size == 0 raise "Invalid data length #{data.size} (expected even multiple of #{self.class.item_size})" unless data.size % self.class.item_size == 0 list = [] data = data.dup while data.size > 0 list << bin_to_data(data.slice!(0,self.class.item_size)) end list end