Class: HumbleRPiPluginDoorLock
- Inherits:
-
Object
- Object
- HumbleRPiPluginDoorLock
- Defined in:
- lib/humble_rpi-plugin-doorlock.rb
Instance Method Summary collapse
-
#initialize(settings: {}, variables: {}) ⇒ HumbleRPiPluginDoorLock
constructor
A new instance of HumbleRPiPluginDoorLock.
- #on_doorlock_message(message) ⇒ Object
- #on_exit ⇒ Object
- #start ⇒ Object (also: #on_start)
Constructor Details
#initialize(settings: {}, variables: {}) ⇒ HumbleRPiPluginDoorLock
Returns a new instance of HumbleRPiPluginDoorLock.
11 12 13 14 15 |
# File 'lib/humble_rpi-plugin-doorlock.rb', line 11 def initialize(settings: {}, variables: {}) @gpio_pins = settings[:pins] end |
Instance Method Details
#on_doorlock_message(message) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/humble_rpi-plugin-doorlock.rb', line 17 def () r = .match(/(\d+)?\s*(open|close|lock|unlock)\s*(?:\s*duration\s)?([\d\.]+)?/) if r then index, state, raw_duration = r.captures index ||= 0 duration = raw_duration ? raw_duration.to_f : nil a = case state when 'open' [:unlock, duration] when 'unlock' [:unlock, duration] when 'close' [:lock, duration] when 'lock' [:lock, duration] end @door[index.to_i].send(*a) end end |
#on_exit ⇒ Object
52 53 54 |
# File 'lib/humble_rpi-plugin-doorlock.rb', line 52 def on_exit() @door.on_exit end |
#start ⇒ Object Also known as: on_start
44 45 46 47 48 |
# File 'lib/humble_rpi-plugin-doorlock.rb', line 44 def start() @door = SimpleRaspberryPi.new(@gpio_pins).pins if @gpio_pins.any? end |