class Soyuz::Deploy

Public Class Methods

new(env_name, options) click to toggle source
# File lib/soyuz/deploy.rb, line 4
def initialize(env_name, options)
  @config = Config.new(options[:config])
  @config.validate!
  set_environment(env_name) if env_name || $non_interactive
end

Public Instance Methods

execute() click to toggle source
# File lib/soyuz/deploy.rb, line 10
def execute
  choose_environment unless @environment
  ENV['SOYUZ_ENVIRONMENT'] = @environment.name.to_s
  before_callbacks
  deploy
  after_callbacks
end

Private Instance Methods

after_callbacks() click to toggle source
# File lib/soyuz/deploy.rb, line 48
def after_callbacks
  environment.after_callbacks
end
before_callbacks() click to toggle source
# File lib/soyuz/deploy.rb, line 44
def before_callbacks
  environment.before_callbacks
end
choose_environment() click to toggle source
# File lib/soyuz/deploy.rb, line 31
def choose_environment
  say "Choose an Environment: \n"
  environments.each_with_index do |environment, index|
    say "#{index+1}) #{environment.name}"
  end
  choice = ask("? ", Integer) { |q| q.in = 1..environments.length }
  @environment = environments[choice-1]
end
deploy() click to toggle source
# File lib/soyuz/deploy.rb, line 40
def deploy
  environment.deploy
end
environment() click to toggle source
# File lib/soyuz/deploy.rb, line 19
def environment
  @environment || raise(EnvironmentNotSelected, "Please Select an Environment")
end
environments() click to toggle source
# File lib/soyuz/deploy.rb, line 22
def environments
  @config.environments
end
set_environment(env_name) click to toggle source
# File lib/soyuz/deploy.rb, line 26
def set_environment(env_name)
  @environment = environments.detect { |env| env.name.to_s == env_name }
  raise("Invalid environment '#{env_name}'.") unless @environment
end