class Wordmove::Hook::Remote
Public Class Methods
logger()
click to toggle source
# File lib/wordmove/hook.rb, line 103 def self.logger Wordmove::Hook.logger end
run(command_hash, options, simulate = false)
click to toggle source
# File lib/wordmove/hook.rb, line 107 def self.run(command_hash, options, simulate = false) ssh_options = options[:ssh] wordpress_path = options[:wordpress_path] copier = Photocopier::SSH.new(ssh_options).tap { |c| c.logger = logger } logger.task_step false, "Exec command: #{command_hash[:command]}" return true if simulate stdout, stderr, exit_code = copier.exec!("cd #{wordpress_path} && #{command_hash[:command]}") if exit_code.zero? logger.task_step false, "Output: #{stdout}" logger.success "" else logger.task_step false, "Output: #{stderr}" logger.error "Error code #{exit_code}" raise Wordmove::RemoteHookException unless command_hash[:raise].eql? false end end