require 'net/ssh'
require 'singleton'

class DevBox
  include Singleton

  def initialize
    @dev_box_conf = ConfigHelper.instance[:devbox]
  end

  def run(command)
    puts " - DevBox: #{command}".blue
    connection.exec!(command)
  end

  def run_acc_script(script)
    run("cd #{@dev_box_conf[:scripts_path]} && php #{script}")
  end

  private

  def connection
    @connection ||= new_connection
  end

  def new_connection
    Net::SSH.start(@dev_box_conf[:host], @dev_box_conf[:user])
  end
end
