19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/lib/dhcp/options/type/sub_option.rb', line 19
def initialize(*sub_option)
oid = self.class.name.split('::').last.sub(/Option/, '').to_i
sub_options = []
sub_option.each do |sub|
if sub.is_a? Lib::DHCP::SubOption
opt = sub
elsif sub.is_a? Array
opt = Lib::DHCP::SubOption.new(sub[0], sub[1])
else
raise ArgumentError, 'Unknown SubOption parameter type'
end
sub_options << opt
define_singleton_method("option#{opt.oid.to_i}".to_sym) { opt }
end
super oid, sub_options
end
|