Sha256: c4a0e61e4bcefa6f4b5b678e4196d012940dd8c613d956e67634beb5bd5e9387
Contents?: true
Size: 1 KB
Versions: 2
Compression:
Stored size: 1 KB
Contents
module Denko module Behaviors module Subcomponents def components @components ||= [] end def single_pin_components @single_pin_components ||= {} end def add_component(component) components << component if component.respond_to?(:pin) && component.pin.class == Integer unless single_pin_components[component.pin] single_pin_components[component.pin] = component else raise StandardError, "Error adding #{component} to #{self}. Pin: #{component.pin} " \ "already in use by: #{single_pin_components[component.pin]}" end end end def remove_component(component) if component.respond_to?(:pin) && component.pin.class == Integer single_pin_components[component.pin] = nil end deleted = components.delete(component) component.stop if deleted && component.respond_to?(:stop) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
denko-0.13.1 | lib/denko/behaviors/subcomponents.rb |
denko-0.13.0 | lib/denko/behaviors/subcomponents.rb |