Class: Safemode::Box

Inherits:
Object show all
Defined in:
lib/safemode.rb

Instance Method Summary collapse

Constructor Details

#initialize(delegate = nil, delegate_methods = [], filename = nil, line = nil) ⇒ Box

Returns a new instance of Box.



42
43
44
45
46
47
# 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

Instance Method Details

#eval(code, assigns = {}, locals = {}, &block) ⇒ Object



49
50
51
52
53
# 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

#outputObject



55
56
57
# File 'lib/safemode.rb', line 55

def output
  @scope.output
end