Sha256: 622d4e29adf7582ce1613b14f484506159e39940b556e1fc264a7d009b419c79
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
module Denko module Behaviors module Component include State attr_reader :board def initialize(options={}) super(options) before_initialize(options) initialize_board(options) convert_pins(options) initialize_pins(options) register after_initialize(options) end def micro_delay(duration) board.micro_delay(duration) end protected def initialize_board(options={}) raise ArgumentError, 'a board is required for a component' unless options[:board] @board = options[:board] end def register board.add_component(self) end def unregister board.remove_component(self) end # Setup::Base only requires a board. # Include modules from Setup or override this to use pins. # def before_initialize(options={}); end def convert_pins(options={}); end def initialize_pins(options={}); end alias :initialize_pin :initialize_pins # Override in components. Call super when inheriting or mixing in. def after_initialize(options={}); end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
denko-0.13.0 | lib/denko/behaviors/component.rb |