Class: GemIsolator::Isolation

Inherits:
Object
  • Object
show all
Defined in:
lib/gem_isolator/isolation.rb,
lib/gem_isolator/isolation/gemfile.rb,
lib/gem_isolator/isolation/sandbox.rb,
lib/gem_isolator/isolation/environment.rb

Overview

Main class for setting up sandbox/isolation environment

Defined Under Namespace

Classes: Environment, Gemfile, Sandbox

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Isolation

Returns a new instance of Isolation.



14
15
16
17
18
19
20
21
22
# File 'lib/gem_isolator/isolation.rb', line 14

def initialize(options)
  gem_defs = options.fetch(:gems, [[]])
  within_sandbox do
    @sandbox = Sandbox.new(gems: gem_defs)
    sandbox.setup
    environment = Environment.new(gem_home: sandbox.gem_home).to_hash
    yield(environment, self)
  end
end

Instance Method Details

#system(*args) ⇒ Object



24
25
26
# File 'lib/gem_isolator/isolation.rb', line 24

def system(*args)
  sandbox.system(*args)
end