Class: StupidFormatter::Erb

Inherits:
AbstractFormatter show all
Defined in:
lib/stupid_formatter.rb

Instance Attribute Summary

Attributes inherited from AbstractFormatter

#input

Instance Method Summary collapse

Methods inherited from AbstractFormatter

#initialize

Constructor Details

This class inherits a constructor from StupidFormatter::AbstractFormatter

Instance Method Details

#captureObject

Helper for capturing output in a erb block for later use, i.e.

<% @my_var = capture do %>
  Bar
<% end %>
Foo<%= @my_var %>

will render FooBar.



76
77
78
79
80
81
82
# File 'lib/stupid_formatter.rb', line 76

def capture
  old_buffer, @output_buffer = @output_buffer, ''
  yield
  @output_buffer
ensure
  @output_buffer = old_buffer
end

#result(alternative_binding = nil) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/stupid_formatter.rb', line 61

def result(alternative_binding=nil)
  if RUBY_VERSION >= '2.6'
    ERB.new(input, trim_mode: "%<>", eoutvar: "@output_buffer").result(alternative_binding || binding)
  else
    ERB.new(input, 0, "%<>", "@output_buffer").result(alternative_binding || binding)
  end
end