Module: Entangler

Defined in:
lib/entangler.rb,
lib/entangler/errors.rb,
lib/entangler/logger.rb,
lib/entangler/version.rb,
lib/entangler/executor/base.rb,
lib/entangler/entangled_file.rb,
lib/entangler/executor/slave.rb,
lib/entangler/executor/master.rb,
lib/entangler/executor/helpers.rb,
lib/entangler/executor/background/base.rb,
lib/entangler/executor/validation/base.rb,
lib/entangler/executor/background/master.rb,
lib/entangler/executor/validation/master.rb

Defined Under Namespace

Modules: Executor, Helper Classes: EntangledFile, EntanglerError, Logger, NotInstalledOnRemoteError, ValidationError, VersionMismatchError

Constant Summary collapse

VERSION =
'1.6.1'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.executorObject

Returns the value of attribute executor.



10
11
12
# File 'lib/entangler.rb', line 10

def executor
  @executor
end

Class Method Details

.run(base_dir, opts = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/entangler.rb', line 12

def run(base_dir, opts = {})
  opts = { mode: 'master', remote_mode: true }.merge(opts)

  require 'entangler/executor/base'
  if opts[:mode] == 'master'
    require 'entangler/executor/master'
    self.executor = Entangler::Executor::Master.new(base_dir, opts)
  elsif opts[:mode] == 'slave'
    require 'entangler/executor/slave'
    self.executor = Entangler::Executor::Slave.new(base_dir, opts)
  end

  executor.run
end