class Shipper::Deploy

Attributes

config[R]
specified_services[R]

Public Class Methods

new(config, specified_services = nil) click to toggle source
# File lib/shipper/deploy.rb, line 7
def initialize(config, specified_services = nil)
  @config = config
  @specified_services = specified_services
end

Public Instance Methods

perform() click to toggle source
# File lib/shipper/deploy.rb, line 12
def perform
  ship_services!
  update_host!
end

Private Instance Methods

load_services() click to toggle source
# File lib/shipper/deploy.rb, line 33
def load_services
  config.services
        .reject { |name, _| service_ignored?(name) }
        .map { |name, config| ::Shipper::Service.new(name, config) }
end
logger() click to toggle source
# File lib/shipper/deploy.rb, line 43
def logger
  ::Shipper::Logger.instance
end
service_ignored?(name) click to toggle source
# File lib/shipper/deploy.rb, line 39
def service_ignored?(name)
  specified_services && !specified_services.include?(name.to_s)
end
ship_services!() click to toggle source
# File lib/shipper/deploy.rb, line 19
def ship_services!
  logger.headline('Shipping services..')
  services = load_services
  services.each(&:ship!)
  logger.headline('Services shipped!')
end
update_host!() click to toggle source
# File lib/shipper/deploy.rb, line 26
def update_host!
  logger.headline('Updating host..')
  host = ::Shipper::Host.new(config.host)
  host.update!
  logger.headline('Host updated!')
end