module Blocks::HamlCapture
Public Class Methods
new(view, *)
click to toggle source
Calls superclass method
# File lib/blocks/helpers/haml_capture.rb, line 18 def initialize(view, *) super if defined?(::Haml) && !view.instance_variables.include?(:@haml_buffer) class << view include Haml::Helpers end view.init_haml_helpers end end
Public Instance Methods
capture(*)
click to toggle source
Calls superclass method
# File lib/blocks/helpers/haml_capture.rb, line 28 def capture(*) old_haml_buffer = view.instance_variable_get(:@haml_buffer) if old_haml_buffer was_active = old_haml_buffer.active? old_haml_buffer.active = false else haml_buffer = Haml::Buffer.new(nil, Haml::Options.new.for_buffer) haml_buffer.active = false view.instance_variable_set(:@haml_buffer, haml_buffer) end super ensure old_haml_buffer.active = was_active if old_haml_buffer view.instance_variable_set(:@haml_buffer, old_haml_buffer) end