class DataStory::EvalContext

Public Class Methods

eval_binding() click to toggle source
# File lib/datastory/eval_context.rb, line 29
def self.eval_binding
  @binding ||= eval("binding")
end
evaluate(code) click to toggle source

Public: Evaluates the passed code in this context.

# File lib/datastory/eval_context.rb, line 7
def self.evaluate(code)
  prev_stdout = $stdout
  #prev_stderr = $stderr
  
  out = StringIO.new
  $stdout = out
  #$stderr = out
  
  eval(code, eval_binding)
  
  $stdout = prev_stdout
  #$stderr = prev_stderr
  
  out.string
end
evaluate_erb(code) click to toggle source

Public: Evaluates some ERb in this context.

# File lib/datastory/eval_context.rb, line 24
def self.evaluate_erb(code)
  erb = Erubis::EscapedEruby.new(code)
  erb.result(eval_binding)
end