Class: Dk::ABDeploy::Validate

Inherits:
Object
  • Object
show all
Includes:
Task
Defined in:
lib/dk-abdeploy/validate.rb

Defined Under Namespace

Modules: TestHelpers

Instance Method Summary collapse

Instance Method Details

#run!Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/dk-abdeploy/validate.rb', line 15

def run!
  # validate required params are set
  if params[ROOT_PARAM_NAME].to_s.empty?
    raise ArgumentError, "no #{ROOT_PARAM_NAME.inspect} param set"
  end
  if params[REPO_PARAM_NAME].to_s.empty?
    raise ArgumentError, "no #{REPO_PARAM_NAME.inspect} param set"
  end

  # make sure the hosts group has been set
  if (h = ssh_hosts(SSH_HOSTS_GROUP_NAME)).nil? || h.empty?
    raise ArgumentError, "no #{SSH_HOSTS_GROUP_NAME.inspect} have been set"
  end

  # set common required params for downstream tasks
  deploy_root = Pathname.new(params[ROOT_PARAM_NAME])
  set_param(SHARED_DIR_PARAM_NAME,  deploy_root.join(SHARED_DIR_NAME).to_s)
  set_param(CURRENT_DIR_PARAM_NAME, deploy_root.join(CURRENT_LINK_NAME).to_s)

  releases_dir = deploy_root.join(RELEASES_DIR_NAME)
  set_param(RELEASES_DIR_PARAM_NAME,  releases_dir.to_s)
  set_param(RELEASE_A_DIR_PARAM_NAME, releases_dir.join(RELEASE_A_DIR_NAME).to_s)
  set_param(RELEASE_B_DIR_PARAM_NAME, releases_dir.join(RELEASE_B_DIR_NAME).to_s)
end