Safebox/lib/safebox/safebox.rb

26 lines
436 B
Ruby
Raw Normal View History

2010-03-20 23:53:57 +01:00
module Safebox
def self.run *paras, &exe
exe = paras.shift unless exe
box = paras.shift || Class
Thread.new do
$SAFE = 4
this = box.new *paras
begin
[:value, this.instance_eval( exe, "Safebox")]
rescue Object
[:exception, $!]
end
end.value
end
def self.create_class *paras, &exe
exe = paras.shift unless exe
run Class, *paras do
eval exe
self
end
end
alias new_class create_class
end