6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/script_executor/executable.rb', line 6
def execute(params={}, &code)
params = params.clone
if params.class != Hash
simple_commands = commands_from_object(params)
params = {}
script = simple_commands
else
script = params.delete(:script)
end
commands = locate_commands script, &code
if commands.nil?
output.puts 'No command was provided!'
else
commands = sudo(commands) if params[:sudo]
params.delete(:sudo)
remote = params.delete(:remote)
line_action = params.delete(:line_action)
if remote
command = RemoteCommand.new params
else
command = LocalCommand.new params
end
command.execute commands, line_action
end
end
|