mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 23:52:35 +00:00
Initial work on Scripting sandbox, no longer Entity's responsibility.
This commit is contained in:
25
lib/scripting/sandbox.rb
Normal file
25
lib/scripting/sandbox.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
class IMICFPS
|
||||
module Scripting
|
||||
class SandBox
|
||||
include Scripting
|
||||
def initialize(entity:, script:)
|
||||
@entity = entity
|
||||
@script = script.name
|
||||
|
||||
execute(script.source) if source_safe?(script.source)
|
||||
end
|
||||
|
||||
def source_safe?(source)
|
||||
true # TODO: implement whitelisting/safety checks
|
||||
end
|
||||
|
||||
def execute(source)
|
||||
instance_eval(source)
|
||||
end
|
||||
|
||||
def entity
|
||||
@entity
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user