lib/frontman/renderers/erb_renderer.rb in frontman-ssg-0.0.4 vs lib/frontman/renderers/erb_renderer.rb in frontman-ssg-0.1.0

- old
+ new

@@ -1,7 +1,7 @@ # typed: false -# frozen_string_literal: true +# frozen_string_literal: false require 'erubis' require 'frontman/renderers/renderer' module Frontman @@ -14,8 +14,26 @@ data.each do |key, value| scope.singleton_class.send(:define_method, key) { value } end compiled.result(scope.get_binding { content }) + end + + def save_buffer(context) + buffer = context.instance_variable_get(:@_erbout) + + return unless buffer + + @buffer = buffer + context.instance_variable_set(:@_erbout, '') + end + + def restore_buffer(context) + context.instance_variable_set(:@_erbout, @buffer) if @buffer + @buffer = nil + end + + def load_buffer(context) + context.instance_variable_get(:@_erbout) end end end