class Serverkit::Backends::BaseBackend

Public Class Methods

new(log_level: nil) click to toggle source
# File lib/serverkit/backends/base_backend.rb, line 13
def initialize(log_level: nil)
  @log_level = log_level
end

Public Instance Methods

host() click to toggle source

@note Override me @return [String] @example “localhost”

# File lib/serverkit/backends/base_backend.rb, line 20
def host
  raise NotImplementedError
end
logger() click to toggle source

@return [Serverkit::Logger]

# File lib/serverkit/backends/base_backend.rb, line 25
def logger
  @logger ||= Serverkit::Logger.new($stdout).tap do |_logger|
    _logger.level = @log_level
  end
end
run_command(command) click to toggle source

@param [String] command one-line shell script to be executed on remote machine @return [Specinfra::CommandResult]

# File lib/serverkit/backends/base_backend.rb, line 33
def run_command(command)
  logger.debug("Running #{command} on #{host}")
  specinfra_backend.run_command(command).tap do |result|
    logger.debug(result.stdout) unless result.stdout.empty?
    logger.debug(result.stderr) unless result.stderr.empty?
    logger.debug("Finished with #{result.exit_status} on #{host}")
  end
end
send_file(from, to) click to toggle source
# File lib/serverkit/backends/base_backend.rb, line 42
def send_file(from, to)
  logger.debug("Sending file #{from} to #{to}")
  specinfra_backend.send_file(from, to)
end

Private Instance Methods

specinfra_backend() click to toggle source

@note Override me @return [Specinfra::Backend::Base]

# File lib/serverkit/backends/base_backend.rb, line 51
def specinfra_backend
  raise NotImplementedError
end