-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
require 'shikashi'
class EvalContext
def get_binding
binding
end
def a_method
puts 'test ok'
end
end
eval_context = EvalContext.new
eval_context.get_binding.eval('a_method') # => test ok
sandbox = Shikashi::Sandbox.new
privileges = Shikashi::Privileges.new
privileges.allow_method(:a_method)
sandbox.run('a_method', privileges: privileges, binding: eval_context.get_binding)
# => in 'handle_method': Cannot invoke method method_missing on object of class BasicObject (SecurityError)
sandbox.run('a_method', privileges: privileges, base_namespace: eval_context)
# => in `rescue in packet': SyntaxError (SyntaxError)Metadata
Metadata
Assignees
Labels
No labels