Class: PacketGen::Header::Base::Binding Private

Inherits:
Struct
  • Object
show all
Defined in:
lib/packetgen/header/base.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Simple class to handle a header association

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#keyObject

Returns the value of attribute key



16
17
18
# File 'lib/packetgen/header/base.rb', line 16

def key
  @key
end

#valueObject

Returns the value of attribute value



16
17
18
# File 'lib/packetgen/header/base.rb', line 16

def value
  @value
end

Instance Method Details

#check?(fields) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Check fields responds to binding



20
21
22
23
24
25
26
27
# File 'lib/packetgen/header/base.rb', line 20

def check?(fields)
  case self[:value]
  when Proc
    self[:value].call fields.send(self[:key])
  else
    fields.send(self[:key]) == self[:value]
  end
end

#set(fields) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Set fields field to binding value



32
33
34
35
36
37
38
39
# File 'lib/packetgen/header/base.rb', line 32

def set(fields)
  case self[:value]
  when Proc
    fields.send "#{self[:key]}=", self[:value].call(nil)
  else
    fields.send "#{self[:key]}=", self[:value]
  end
end