Method: Lib::DHCP::Option::Type::SubOption#initialize

Defined in:
lib/lib/dhcp/options/type/sub_option.rb

#initialize(*sub_option) ⇒ Object



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 }
    #define_singleton_method(:option1) {opt}
  end
  super oid, sub_options
end