Class: EY::DeployConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/engineyard/deploy_config.rb,
lib/engineyard/deploy_config/ref.rb

Defined Under Namespace

Classes: Ref

Constant Summary collapse

MIGRATE =
'rake db:migrate --trace'

Instance Method Summary collapse

Constructor Details

#initialize(cli_opts, env_config, repo, ui) ⇒ DeployConfig

Returns a new instance of DeployConfig.



5
6
7
8
9
10
# 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

Instance Method Details

#extra_configObject



43
44
45
# File 'lib/engineyard/deploy_config.rb', line 43

def extra_config
  @cli_opts.fetch('config', {})
end

#migrateObject



16
17
18
19
20
21
22
23
24
# 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_commandObject



26
27
28
29
30
31
32
33
34
35
36
37
# 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

#refObject



12
13
14
# File 'lib/engineyard/deploy_config.rb', line 12

def ref
  @ref ||= decide_ref
end

#verboseObject



39
40
41
# File 'lib/engineyard/deploy_config.rb', line 39

def verbose
  @cli_opts.fetch('verbose') { in_repo? && @env_config.verbose }
end