class Gaptool::RunScriptCommand
Public Instance Methods
execute()
click to toggle source
# File lib/gaptool_client/commands.rb, line 112 def execute params = exclude_hidden? ? {} : { hidden: true } nodes = Gaptool::API.query_nodes(params.merge(instance: instance, role: role, environment: environment)) log_level = if debug? Logger::DEBUG elsif verbose? Logger::INFO end command = "echo 'done'" unless log_level sc = File.read(script) nodes = nodes.map { |x| x.merge(script: sc, file: script, verbose: log_level.nil?) } hook = proc do |node| node.handler.on_data('', :stdout, "Executing #{node[:file]}", '') if node[:verbose] eval(node[:script]) end res = Gaptool::SSH.exec(nodes, [command], pre_hooks: [hook], serial: serial?, continue_on_errors: continue_on_errors?, log_level: log_level, batch_size: batch_size) exit res end