class ComponentEmbeddedRuby::Template

Public Class Methods

new( template, safe_append_method: "<<", unsafe_append_method: "<<", output_var_name: "__crb_out" ) click to toggle source
# File lib/component_embedded_ruby/template.rb, line 5
def initialize(
  template,
  safe_append_method: "<<",
  unsafe_append_method: "<<",
  output_var_name: "__crb_out"
)
  @template = template
  @safe_append_method = safe_append_method
  @unsafe_append_method = unsafe_append_method
  @output_var_name = output_var_name
end

Public Instance Methods

to_ruby() click to toggle source
# File lib/component_embedded_ruby/template.rb, line 17
def to_ruby
  tokens = Lexer.new(@template).lex
  nodes = Parser.parse(tokens)
  Compiler.new(
    nodes,
    safe_append_method: @safe_append_method,
    unsafe_append_method: @unsafe_append_method,
    output_var_name: @output_var_name
  ).to_ruby
end
to_s(binding: TOPLEVEL_BINDING) click to toggle source
# File lib/component_embedded_ruby/template.rb, line 28
def to_s(binding: TOPLEVEL_BINDING)
  eval(to_ruby, binding) # rubocop:disable Security/Eval
end