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



36
37
38
39
40
41
42
43
44
45
# File 'lib/ops_tasks/rake_helper.rb', line 36

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"],
    recipe: ENV["#{server_type}_deploy_recipe"],
    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
29
30
31
32
33
34
# 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...")
    choose do |menu|
      servers.each do |server|
        menu.choice server do @server_type = server end
      end
      menu.choice "quit" do exit end
    end
  else
    @server_type = servers.first
  end
  
  return @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