Class: Console::Event::Spawn

Inherits:
Generic
  • Object
show all
Defined in:
lib/console/event/spawn.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Generic

#as_json

Constructor Details

#initialize(environment, *arguments, **options) ⇒ Spawn

Returns a new instance of Spawn.


35
36
37
38
39
# File 'lib/console/event/spawn.rb', line 35

def initialize(environment, *arguments, **options)
	@environment = environment
	@arguments = arguments
	@options = options
end

Instance Attribute Details

#argumentsObject (readonly)

Returns the value of attribute arguments


42
43
44
# File 'lib/console/event/spawn.rb', line 42

def arguments
  @arguments
end

#environmentObject (readonly)

Returns the value of attribute environment


41
42
43
# File 'lib/console/event/spawn.rb', line 41

def environment
  @environment
end

#optionsObject (readonly)

Returns the value of attribute options


43
44
45
# File 'lib/console/event/spawn.rb', line 43

def options
  @options
end

Class Method Details

.for(*arguments, **options) ⇒ Object


26
27
28
29
30
31
32
33
# File 'lib/console/event/spawn.rb', line 26

def self.for(*arguments, **options)
	# Extract out the command environment:
	if arguments.first.is_a?(Hash)
		self.new(*arguments, **options)
	else
		self.new(nil, arguments, **options)
	end
end

.register(terminal) ⇒ Object


51
52
53
# File 'lib/console/event/spawn.rb', line 51

def self.register(terminal)
	terminal[:shell_command] ||= terminal.style(:blue, nil, :bold)
end

Instance Method Details

#chdir_string(options) ⇒ Object


45
46
47
48
49
# File 'lib/console/event/spawn.rb', line 45

def chdir_string(options)
	if options and chdir = options[:chdir]
		" in #{chdir}"
	end
end

#format(output, terminal, verbose) ⇒ Object


59
60
61
62
63
64
65
66
67
68
69
# File 'lib/console/event/spawn.rb', line 59

def format(output, terminal, verbose)
	arguments = @arguments.flatten.collect(&:to_s)
	
	output.puts "  #{terminal[:shell_command]}#{arguments.join(' ')}#{terminal.reset}#{chdir_string(options)}"
	
	if verbose and @environment
		@environment.each do |key, value|
			output.puts "    export #{key}=#{value}"
		end
	end
end

#to_hObject


55
56
57
# File 'lib/console/event/spawn.rb', line 55

def to_h
	{environment: @environment, arguments: @arguments, options: @options}
end