class Safemode::Box

Public Class Methods

new(delegate = nil, delegate_methods = [], filename = nil, line = nil) click to toggle source
# File lib/safemode.rb, line 42
def initialize(delegate = nil, delegate_methods = [], filename = nil, line = nil)
  @delegate = delegate
  @delegate_methods = delegate_methods
  @filename = filename
  @line = line
end

Public Instance Methods

eval(code, assigns = {}, locals = {}, &block) click to toggle source
# File lib/safemode.rb, line 49
def eval(code, assigns = {}, locals = {}, &block)
  code = Parser.jail(code)
  @scope = Scope.new(@delegate, @delegate_methods, instance_vars: assigns, locals: locals, &block)
  Kernel.eval(code, @scope.get_binding, @filename || __FILE__, @line || __LINE__)
end
output() click to toggle source
# File lib/safemode.rb, line 55
def output
  @scope.output
end