Class: Safemode::Box
Instance Method Summary collapse
- #eval(code, assigns = {}, locals = {}, &block) ⇒ Object
-
#initialize(delegate = nil, delegate_methods = [], filename = nil, line = nil) ⇒ Box
constructor
A new instance of Box.
- #output ⇒ Object
Constructor Details
#initialize(delegate = nil, delegate_methods = [], filename = nil, line = nil) ⇒ Box
Returns a new instance of Box.
33 34 35 36 37 38 |
# File 'lib/safemode.rb', line 33 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
40 41 42 43 44 |
# File 'lib/safemode.rb', line 40 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 ⇒ Object
46 47 48 |
# File 'lib/safemode.rb', line 46 def output @scope.output end |