Method: Lib::DHCP::Message::LeaseActive#initialize

Defined in:
lib/lib/dhcp/messages/lease_active.rb

#initialize(htype: 1, hlen: 6, hops: 0, xid: nil, secs: 0, flags: 0, ciaddr: 0, yiaddr: 0, siaddr: 0, giaddr: 0, chaddr: 0, sname: '.', file: '.', options: nil) ⇒ LeaseActive

Returns a new instance of LeaseActive.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/lib/dhcp/messages/lease_active.rb', line 12

def initialize(htype: 1, hlen: 6, hops: 0, xid: nil, secs: 0, flags: 0, ciaddr: 0, yiaddr: 0, siaddr: 0, giaddr: 0, chaddr: 0, sname: '.', file: '.', options: nil)
  if block_given?
    yield self
  else
    super(
      :op => BOOTREPLY,
      :htype => htype,
      :hlen => hlen,
      :hops => hops,
      :xid => xid,
      :secs => secs,
      :flags => flags,
      :ciaddr => ciaddr,
      :yiaddr => yiaddr,
      :siaddr => siaddr,
      :giaddr => giaddr,
      :chaddr => chaddr,
      :sname => sname,
      :file => file
    )
    if options.is_a? Array or options.is_a? Lib::DHCP::Options
      options.each { |option| self.options.add option unless option.oid.to_i == Option::MESSAGE_TYPE }
    elsif options.is_a? Lib::DHCP::Option
      self.options.add options
    elsif !options.nil?
      raise TypeError, "Can't convert #{options.class.name} to Lib::DHCP::Option"
    end
  end

  self.options.add Lib::DHCP::Option53.new(LEASE_ACTIVE)
end