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
fieldsresponds to binding. -
#set(fields) ⇒ void
private
Set
fieldsfield to binding value.
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key
20 21 22 |
# File 'lib/packetgen/header/base.rb', line 20 def key @key end |
#value ⇒ Object
Returns the value of attribute value
20 21 22 |
# File 'lib/packetgen/header/base.rb', line 20 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
24 25 26 27 28 29 30 31 |
# File 'lib/packetgen/header/base.rb', line 24 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
36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/packetgen/header/base.rb', line 36 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 |