Class: OpsTasks::RakeHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/ops_tasks/rake_helper.rb

Class Method Summary collapse

Class Method Details

.check_for_env_varsObject



11
12
13
14
15
16
# File 'lib/ops_tasks/rake_helper.rb', line 11

def self.check_for_env_vars
  if servers.empty?
    puts "You haven't setup your layers in your environment variables"
    exit
  end
end

.create_deploymentObject



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/ops_tasks/rake_helper.rb', line 39

def self.create_deployment
  server_type = select_server_type
  return OpsTasks::Deployment.new(
    layer_id: ENV["#{server_type}_layer_id"],
    stack_id: ENV["#{server_type}_stack_id"],
    app_id: ENV["#{server_type}_app_id"],
    recipe: ENV["#{server_type}_deploy_recipe"],
    project: ENV["#{server_type}_project_name"],
    room: ENV["#{server_type}_slack_channel"]
  )
end

.create_scaleObject



51
52
53
54
55
56
57
58
59
60
# File 'lib/ops_tasks/rake_helper.rb', line 51

def self.create_scale
  server_type = select_server_type
  return OpsTasks::Scale.new(
    layer_id: ENV["#{server_type}_layer_id"],
    stack_id: ENV["#{server_type}_stack_id"],
    instance_type: ENV["#{server_type}_instance_type"],
    project: ENV["#{server_type}_project_name"],
    room: ENV["#{server_type}_slack_channel"]
  )
end

.select_server_typeObject



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ops_tasks/rake_helper.rb', line 18

def self.select_server_type
  check_for_env_vars
  if servers.size > 1
    @server_type = nil
    say("\nSelect a server...")
    show_menu(servers)
  else
    @server_type = servers.first
  end
  @server_type
end

.serversObject



5
6
7
8
9
# File 'lib/ops_tasks/rake_helper.rb', line 5

def self.servers
  ENV.keys.select do |k|
    k.match(/_stack_id/) && !k.match(/FIGARO/)
  end.map{|k| k.match(/(.+)_stack_id/)[1]}
end

.show_menu(servers) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/ops_tasks/rake_helper.rb', line 30

def self.show_menu(servers)
  choose do |menu|
    servers.each do |server|
      menu.choice server do @server_type = server end
    end
    menu.choice "quit" do exit end
  end
end