Class: AcquiaToolbelt::CLI::Deploy

Inherits:
Thor
  • Object
show all
Defined in:
lib/acquia_toolbelt/cli/deploy.rb

Constant Summary

Constants inherited from Thor

Thor::AmbiguousTaskError, Thor::DynamicTask, Thor::HELP_MAPPINGS, Thor::HiddenTask, Thor::THOR_RESERVED_WORDS, Thor::UndefinedTaskError, Thor::VERSION

Instance Attribute Summary

Attributes included from Thor::Base

#args, #options, #parent_options

Instance Method Summary collapse

Methods inherited from Thor

check_unknown_options!, check_unknown_options?, command_help, default_command, desc, #help, help, long_desc, map, method_option, method_options, package_name, printable_commands, register, stop_on_unknown_option!, stop_on_unknown_option?, subcommand, subcommands

Methods included from Thor::Base

included, #initialize, register_klass_file, shell, shell=, subclass_files, subclasses

Instance Method Details

#codeObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/acquia_toolbelt/cli/deploy.rb', line 10

def code
  if options[:environment].nil?
    ui.say "No value provided for required options '--environment'"
    return
  end

  if options[:subscription]
    subscription = options[:subscription]
  else
    subscription = AcquiaToolbelt::CLI::API.default_subscription
  end

  environment = options[:environment]
  release     = options[:release]
  data        = { :key => 'path', :value => "#{release}" }

  deploy_code = AcquiaToolbelt::CLI::API.request "sites/#{subscription}/envs/#{environment}/code-deploy", 'QUERY-STRING-POST', data

  if deploy_code["id"]
    ui.success "#{release} has been deployed to #{environment}."
  else
    ui.fail AcquiaToolbelt::CLI::API.display_error(deploy_code)
  end
end