1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- require_dependency 'sequencer/units/attribute'
- require_dependency 'sequencer/units/attributes'
- class Sequencer
- class Units < SimpleDelegator
- include ::Enumerable
-
-
-
-
-
-
- def initialize(*units)
- super(units)
- end
-
-
-
-
-
-
-
-
-
- def each
- __getobj__.each do |unit|
- yield constantize(unit)
- end
- end
-
-
-
-
-
-
-
- def declarations
- collect do |unit|
- {
- uses: unit.uses,
- provides: unit.provides,
- }
- end
- end
-
-
-
-
-
-
-
-
-
- def [](index)
- constantize(__getobj__[index])
- end
- private
- def constantize(unit)
- Sequencer::Unit.constantize(unit)
- end
- end
- end
|