Class: PacketGen::Header::Base::Binding Private
- Inherits:
-
Struct
- Object
- Struct
- PacketGen::Header::Base::Binding
- 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
-
#key ⇒ Object
Returns the value of attribute key.
-
#value ⇒ Object
Returns the value of attribute value.
Instance Method Summary collapse
-
#check?(fields) ⇒ Boolean
private
Check
fields
responds to binding. -
#set(fields) ⇒ void
private
Set
fields
field to binding value.
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key
23 24 25 |
# File 'lib/packetgen/header/base.rb', line 23 def key @key end |
#value ⇒ Object
Returns the value of attribute value
23 24 25 |
# File 'lib/packetgen/header/base.rb', line 23 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
27 28 29 30 31 32 33 34 |
# File 'lib/packetgen/header/base.rb', line 27 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
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/packetgen/header/base.rb', line 39 def set(fields) case self[:value] when Proc fields.send(:"#{self[:key]}=", self[:value].call(nil)) else attr = if self[:key].to_s.end_with?('?') self[:key].to_s[0..-2] else self[:key] end fields.send(:"#{attr}=", self[:value]) end end |