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.
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 |
#output ⇒ Object
55 56 57 |
# File 'lib/safemode.rb', line 55 def output @scope.output end |