Class: SDN::Message::Move
- Inherits:
-
SDN::Message
- Object
- SDN::Message
- SDN::Message::Move
- Defined in:
- lib/sdn/messages/control.rb
Overview
Move in momentary mode
Constant Summary collapse
- MSG =
0x01
- PARAMS_LENGTH =
3
- DIRECTION =
{ down: 0x00, up: 0x01, cancel: 0x02 }.freeze
- SPEED =
{ up: 0x00, down: 0x01, slow: 0x02 }.freeze
Instance Attribute Summary collapse
-
#direction ⇒ Object
Returns the value of attribute direction.
-
#duration ⇒ Object
Returns the value of attribute duration.
-
#speed ⇒ Object
Returns the value of attribute speed.
Attributes inherited from SDN::Message
#ack_requested, #dest, #reserved, #src
Instance Method Summary collapse
-
#initialize(dest = nil, direction = :cancel, duration: nil, speed: :up, **kwargs) ⇒ Move
constructor
A new instance of Move.
- #params ⇒ Object
- #parse(params) ⇒ Object
Methods inherited from SDN::Message
#class_inspect, #inspect, parse, readpartial, #serialize
Methods included from Helpers
#checksum, #from_number, #from_string, #is_group_address?, #parse_address, #print_address, #to_number, #to_string, #transform_param
Constructor Details
#initialize(dest = nil, direction = :cancel, duration: nil, speed: :up, **kwargs) ⇒ Move
Returns a new instance of Move.
12 13 14 15 16 17 18 |
# File 'lib/sdn/messages/control.rb', line 12 def initialize(dest = nil, direction = :cancel, duration: nil, speed: :up, **kwargs) kwargs[:dest] ||= dest super(**kwargs) self.direction = direction self.duration = duration self.speed = speed end |
Instance Attribute Details
#direction ⇒ Object
Returns the value of attribute direction.
10 11 12 |
# File 'lib/sdn/messages/control.rb', line 10 def direction @direction end |
#duration ⇒ Object
Returns the value of attribute duration.
10 11 12 |
# File 'lib/sdn/messages/control.rb', line 10 def duration @duration end |
#speed ⇒ Object
Returns the value of attribute speed.
10 11 12 |
# File 'lib/sdn/messages/control.rb', line 10 def speed @speed end |
Instance Method Details
#params ⇒ Object
44 45 46 47 48 |
# File 'lib/sdn/messages/control.rb', line 44 def params transform_param(DIRECTION[direction]) + transform_param(duration || 0) + transform_param(SPEED[speed]) end |
#parse(params) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/sdn/messages/control.rb', line 20 def parse(params) super self.direction = DIRECTION.invert[to_number(params[0])] duration = to_number(params[1]) duration = nil if duration == 0 self.duration = duration self.speed = SPEED.invert[to_number(params[3])] end |