class TrustedSandbox::GeneralPurpose
This is a general purpose class that can be used to run untrusted code in a container using TrustedSandbox
. Usage:
TrustedSandbox.run! TrustedSandbox::GeneralPurpose, "1 + 1" # => 2 TrustedSandbox.run! TrustedSandbox::GeneralPurpose, "input[:a] + input[:b]", input: {a: 1, b: 2} # => 3
Public Class Methods
new(code, args={})
click to toggle source
# File lib/trusted_sandbox/general_purpose.rb, line 13 def initialize(code, args={}) @code = code args.each do |name, value| singleton_klass = class << self; self; end singleton_klass.class_eval { attr_reader name } instance_variable_set "@#{name}", value end end
Public Instance Methods
run()
click to toggle source
# File lib/trusted_sandbox/general_purpose.rb, line 22 def run eval @code end