Class: Sevgi::Sandbox

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/sevgi/internal/sandbox.rb

Defined Under Namespace

Classes: Box

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSandbox

Returns a new instance of Sandbox.



9
10
11
# File 'lib/sevgi/internal/sandbox.rb', line 9

def initialize
  @sandboxes = []
end

Class Method Details

.load(file) ⇒ Object



76
77
78
# File 'lib/sevgi/internal/sandbox.rb', line 76

def load(file, ...)
  self.instance.current.load(file, ...)
end

.run(file) ⇒ Object



70
71
72
73
74
# File 'lib/sevgi/internal/sandbox.rb', line 70

def run(file, ...)
  self.instance.create.load(file, ...)
ensure
  self.instance.shutdown
end

Instance Method Details

#createObject



17
18
19
# File 'lib/sevgi/internal/sandbox.rb', line 17

def create
  Box.new.tap { @sandboxes << _1 }
end

#currentObject



13
14
15
# File 'lib/sevgi/internal/sandbox.rb', line 13

def current
  @sandboxes.last
end

#shutdownObject



21
22
23
# File 'lib/sevgi/internal/sandbox.rb', line 21

def shutdown
  @sandboxes.pop
end