Class: Komenda::ProcessBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/komenda/process_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(command, options = {}) ⇒ ProcessBuilder

Returns a new instance of ProcessBuilder.

Parameters:

  • command (String, String[])
  • options (Hash) (defaults to: {})


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

def initialize(command, options = {})
  defaults = {
    env: {},
    use_bundler_env: false,
    cwd: nil,
    events: {}
  }
  options = defaults.merge(options)

  self.command = command
  self.env = options[:env]
  self.use_bundler_env = options[:use_bundler_env]
  self.cwd = options[:cwd]
  self.events = options[:events]
end

Instance Attribute Details

#commandObject

Returns the value of attribute command.



3
4
5
# File 'lib/komenda/process_builder.rb', line 3

def command
  @command
end

#cwdObject

Returns the value of attribute cwd.



7
8
9
# File 'lib/komenda/process_builder.rb', line 7

def cwd
  @cwd
end

#envObject

Returns the value of attribute env.



5
6
7
# File 'lib/komenda/process_builder.rb', line 5

def env
  @env
end

#eventsObject

Returns the value of attribute events.



8
9
10
# File 'lib/komenda/process_builder.rb', line 8

def events
  @events
end

#use_bundler_envObject

Returns the value of attribute use_bundler_env.



6
7
8
# File 'lib/komenda/process_builder.rb', line 6

def use_bundler_env
  @use_bundler_env
end

Instance Method Details

#createKomenda::Process

Returns:



29
30
31
# File 'lib/komenda/process_builder.rb', line 29

def create
  Komenda::Process.new(self)
end

#env_finalHash

Returns:

  • (Hash)


63
64
65
66
67
68
69
70
# File 'lib/komenda/process_builder.rb', line 63

def env_final
  if !use_bundler_env && Object.const_defined?('Bundler')
    env_original = bundler_clean_env
  else
    env_original = ENV.to_hash
  end
  env_original.merge(env)
end