Method: Lib::DHCP::Message::LeaseQuery#initialize

Defined in:
lib/lib/dhcp/messages/lease_query.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) ⇒ LeaseQuery

Returns a new instance of LeaseQuery.



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
# File 'lib/lib/dhcp/messages/lease_query.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 => BOOTREQUEST,
      :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_QUERY)
end