class EY::DeployConfig

Constants

MIGRATE

Public Class Methods

new(cli_opts, env_config, repo, ui) click to toggle source
# File lib/engineyard/deploy_config.rb, line 5
def initialize(cli_opts, env_config, repo, ui)
  @cli_opts = cli_opts
  @env_config = env_config
  @repo = repo
  @ui = ui
end

Public Instance Methods

extra_config() click to toggle source
# File lib/engineyard/deploy_config.rb, line 43
def extra_config
  @cli_opts.fetch('config', {})
end
migrate() click to toggle source
# File lib/engineyard/deploy_config.rb, line 16
def migrate
  @migrate ||= @cli_opts.fetch('migrate') do
    if in_repo?
      @env_config.migrate
    else
      raise RefAndMigrateRequiredOutsideRepo.new(@cli_opts)
    end
  end
end
migrate_command() click to toggle source
# File lib/engineyard/deploy_config.rb, line 26
def migrate_command
  return @command if defined? @command

  if migrate
    @command = migrate.respond_to?(:to_str) && migrate.to_str
    @command ||= in_repo? ? @env_config.migration_command : MIGRATE
  else
    @command = nil
  end

  @command
end
ref() click to toggle source
# File lib/engineyard/deploy_config.rb, line 12
def ref
  @ref ||= decide_ref
end
verbose() click to toggle source
# File lib/engineyard/deploy_config.rb, line 39
def verbose
  @cli_opts.fetch('verbose') { in_repo? && @env_config.verbose }
end

Private Instance Methods

decide_ref() click to toggle source
# File lib/engineyard/deploy_config.rb, line 54
def decide_ref
  ref_decider = EY::DeployConfig::Ref.new(@cli_opts, @env_config, @repo, @ui)
  if in_repo?
    ref_decider.when_inside_repo
  else
    ref_decider.when_outside_repo
  end
end
in_repo?() click to toggle source

passing an app means we assume PWD is not the app.

# File lib/engineyard/deploy_config.rb, line 50
def in_repo?
  @cli_opts['app'].nil? || @cli_opts['app'] == ''
end