Class: Penchant::PropertyStackProcessor
- Inherits:
-
Object
- Object
- Penchant::PropertyStackProcessor
- Defined in:
- lib/penchant/property_stack_processor.rb
Instance Method Summary collapse
-
#initialize(builder) ⇒ PropertyStackProcessor
constructor
A new instance of PropertyStackProcessor.
- #process(gem_name, stack) ⇒ Object
Constructor Details
#initialize(builder) ⇒ PropertyStackProcessor
Returns a new instance of PropertyStackProcessor.
3 4 5 |
# File 'lib/penchant/property_stack_processor.rb', line 3 def initialize(builder) @builder = builder end |
Instance Method Details
#process(gem_name, stack) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/penchant/property_stack_processor.rb', line 7 def process(gem_name, stack) properties = {} property_stack = stack.dup.to_a while !property_stack.empty? key, value = property_stack.shift if property = @builder[key] property_stack += property.process([ value ].flatten) else value = value % gem_name if value.respond_to?(:%) properties[key] = value end end properties end |