class MysqlSlaver::Executor
Attributes
dry_run[R]
ssh_port[R]
Public Class Methods
new(params = {})
click to toggle source
# File lib/mysql_slaver/executor.rb, line 7 def initialize(params = {}) @ssh_port = params[:ssh_port] @dry_run = params.fetch(:dry_run, false) end
Public Instance Methods
execute(cmd)
click to toggle source
# File lib/mysql_slaver/executor.rb, line 20 def execute(cmd) string = cmd.is_a?(Array) ? cmd.join('; ') : cmd log "CMD: #{string}" if dry_run "[DUMMY RESULT]" else result = `#{string}` success? ? result : nil end end
ssh_command(cmd, host)
click to toggle source
# File lib/mysql_slaver/executor.rb, line 12 def ssh_command(cmd, host) if ssh_port "ssh -p #{ssh_port} #{host} '#{cmd}'" else "ssh #{host} '#{cmd}'" end end
Private Instance Methods
success?()
click to toggle source
# File lib/mysql_slaver/executor.rb, line 33 def success? $?.success? end