Class: Munge::Transformers::TiltTransformer
- Inherits:
-
Object
- Object
- Munge::Transformers::TiltTransformer
- Defined in:
- lib/munge/transformers/tilt_transformer.rb
Instance Method Summary collapse
- #call(item, content = nil, renderer = nil) ⇒ Object
- #demand(tilt_template, **options) ⇒ Object
-
#initialize(scope) ⇒ TiltTransformer
constructor
A new instance of TiltTransformer.
- #name ⇒ Object
- #register(helper) ⇒ Object
Constructor Details
#initialize(scope) ⇒ TiltTransformer
Returns a new instance of TiltTransformer.
4 5 6 7 8 |
# File 'lib/munge/transformers/tilt_transformer.rb', line 4 def initialize(scope) @pristine_scope = scope @registry = [] @demands = Hash.new { Hash.new } end |
Instance Method Details
#call(item, content = nil, renderer = nil) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/munge/transformers/tilt_transformer.rb', line 14 def call(item, content = nil, renderer = nil) scope = @pristine_scope.dup scope.instance_variable_set(:@renderer, @renderer) dirty_scope = extend_with_helpers(scope) dirty_scope.instance_variable_set(:@tilt_options, @demands) dirty_scope.render_with_layout(item, content_engines: renderer, content_override: content) end |
#demand(tilt_template, **options) ⇒ Object
26 27 28 |
# File 'lib/munge/transformers/tilt_transformer.rb', line 26 def demand(tilt_template, **) @demands[tilt_template] = @demands[tilt_template].merge() end |
#name ⇒ Object
10 11 12 |
# File 'lib/munge/transformers/tilt_transformer.rb', line 10 def name :tilt end |
#register(helper) ⇒ Object
22 23 24 |
# File 'lib/munge/transformers/tilt_transformer.rb', line 22 def register(helper) @registry.push(helper) end |