Guest User

Untitled

a guest
Feb 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. module HardwareBase
  2.  
  3. def self.register_device_type mod, sym
  4. @@device_registrations ||= {}
  5. @@device_registrations[sym] = mod
  6. end
  7.  
  8. end
  9.  
  10. module Servo
  11. include HardwareBase
  12.  
  13. HardwareBase.register_device_type self, :servo
  14.  
  15. def output_pin_setup(num,opts)
  16. #...do stuff...
  17. end
  18. end
  19.  
  20. module I2C
  21. include HardwareBase
  22.  
  23. HardwareBase.register_device_type self, :i2c
  24.  
  25. def output_pin_setup(num,opts)
  26. #...do stuff...
  27. end
  28. end
  29.  
  30. class ArduinoSketch
  31. include Servo
  32. include I2C
  33.  
  34. def initialize
  35. puts @@device_registrations.inspect
  36. end
  37. end
  38.  
  39. ArduinoSketch.new#.device_registrations.inspect
Add Comment
Please, Sign In to add comment