Class: Pio::Dhcp::Message

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/pio/dhcp/message.rb

Overview

Base class of Dhcp Packet Generator and Parser.

Direct Known Subclasses

BootReply, BootRequest

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user_options) ⇒ Message

Returns a new instance of Message.



64
65
66
67
68
# File 'lib/pio/dhcp/message.rb', line 64

def initialize(user_options)
  type_merged_options = user_options.merge type: const_type
  options = options_klass.new(type_merged_options)
  @frame = Dhcp::Frame.new(options.to_hash)
end

Class Method Details

.create_from(frame) ⇒ Object



58
59
60
61
62
# File 'lib/pio/dhcp/message.rb', line 58

def self.create_from(frame)
  message = allocate
  message.instance_variable_set :@frame, frame
  message
end

Instance Method Details

#const_typeObject



70
71
72
# File 'lib/pio/dhcp/message.rb', line 70

def const_type
  self.class::TYPE
end

#options_klassObject



74
75
76
# File 'lib/pio/dhcp/message.rb', line 74

def options_klass
  self.class.const_get(:Options)
end