class SDN::Message::MoveOf
Move
relative to current position
Constants
- MSG
- PARAMS_LENGTH
- TARGET_TYPE
Attributes
target[R]
target_type[R]
Public Class Methods
new(dest = nil, target_type = nil, target = nil, **kwargs)
click to toggle source
Calls superclass method
SDN::Message::new
# File lib/sdn/message/control.rb, line 100 def initialize(dest = nil, target_type = nil, target = nil, **kwargs) kwargs[:dest] ||= dest super(**kwargs) self.target_type = target_type self.target = target end
Public Instance Methods
params()
click to toggle source
# File lib/sdn/message/control.rb, line 125 def params param = target || 0xffff param /= 10 if %I{jog_down_ms jog_up_ms}.include?(target_type) transform_param(TARGET_TYPE[target_type]) + from_number(param, 2) + transform_param(0) end
parse(params)
click to toggle source
Calls superclass method
SDN::Message::parse
# File lib/sdn/message/control.rb, line 107 def parse(params) super self.target_type = TARGET_TYPE.invert[to_number(params[0])] target = to_number(params[1..2], nillable: true) target *= 10 if %I{jog_down_ms jog_up_ms}.include?(target_type) self.target = target end
target=(value)
click to toggle source
# File lib/sdn/message/control.rb, line 120 def target=(value) value &= 0xffff if value @target = value end
target_type=(value)
click to toggle source
# File lib/sdn/message/control.rb, line 115 def target_type=(value) raise ArgumentError, "target_type must be one of :next_ip, :previous_ip, :jog_down_pulses, :jog_up_pulses, :jog_down_ms, :jog_up_ms" unless value.nil? || TARGET_TYPE.keys.include?(value) @target_type = value end