prima-twig 0.3.8 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twig-feature +39 -11
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e26ec10c7512b1550fbd57a04399a47c489c027
4
- data.tar.gz: 287b3fc5a963d037cc841e50d4ef48d75dfc234e
3
+ metadata.gz: a21b864488bcc9d835d4e236c0061714c7ce9056
4
+ data.tar.gz: b7bcb72ed9682ecd3d540524ccd84bd6d0c51a16
5
5
  SHA512:
6
- metadata.gz: e4db8b90f2e63063a699b1b834da9eecdfb47be2137a8992b3e75f0670e0342a50ac39d443ae57310a232638079988e05ad69caf104302d9d07bf40877d27d13
7
- data.tar.gz: 6e5a2aabf62ce6cd5aceb97fea4c4a3c715d013c65f2a32f93629b999c12403a349a85b277313bf0032c42a6653299a2429a09d613181265b2e0a6639ceb5e95
6
+ metadata.gz: 02dfc60c1589460c495509b53b895dbdc1f492b57cadb5018470f3b351f415b1cf4511a71060c86cd34ccef303a167d237017907652a818aa82ea76b91188031
7
+ data.tar.gz: b49bc328108b552faab57b2560b71314a9713cd1326ae6ea90c331ac26b19c742d8dabee1c8ff615b69cbaf3ae7938824a11faf5ed9783b4d4058524ee51c5d3
@@ -27,10 +27,6 @@ class Release
27
27
  end
28
28
 
29
29
  def execute! args
30
- possible_args = ["deploy"]
31
- stop_if args.empty?, [:wrong_args, possible_args]
32
- stop_if args.length > 1, [:wrong_args, possible_args]
33
-
34
30
  case args[0]
35
31
  when "start"
36
32
  start_feature!
@@ -43,7 +39,7 @@ class Release
43
39
  deploy_feature!
44
40
  end
45
41
  else
46
- stop_if true, [:wrong_args, possible_args]
42
+ stop_if true, [:wrong_args, ['start', 'finish', 'deploy', 'deploy stop']]
47
43
  end
48
44
  end
49
45
 
@@ -79,12 +75,32 @@ class Release
79
75
  end
80
76
 
81
77
  def deploy_shutdown!
82
- output "Not implemented yet!".red
83
- exit
84
- # stop_unless environment_exists?(@application_name, @environment_name), "L'environment #{@environment_name} non esiste!"
85
- # shutdown_environment(@environment_name) if @prima.yesno("Sei sicuro di voler spegnere l'env?".blue)
86
- # output "L'environment #{@environment_name} e' stato disrutto con successo!\n".green
87
- # output "Potrebbe comunque passare qualche minuto prima che l'operazione finisca\n".yellow
78
+ envs = {}
79
+ stack_list.each do |stack|
80
+ env_hash = stack.stack_name.match(/qa-(\w+)$/)[0]
81
+ envs[env_hash] = stack.tags unless envs.has_key?(env_hash)
82
+ end
83
+
84
+ env_hash = nil
85
+ unless envs.empty?
86
+ env_hash = choose do |menu|
87
+ menu.prompt = "Scegli l'environment che vuoi spegnere: ".cyan
88
+ menu.shell = true
89
+
90
+ envs.each do |key, env|
91
+ title = @prima.reduce_size("#{env[0].key}: #{env[0].value} #{env[1].key}: #{env[1].value} #{env[2].key}: #{env[2].value}", 100)
92
+ msg = "#{title}".light_blue
93
+ menu.choice(msg) { key }
94
+ end
95
+ end
96
+ else
97
+ output "Nessun environment trovato".red
98
+ exit
99
+ end
100
+
101
+ stack_list.each do |stack|
102
+ delete_stack(stack.stack_name) if stack.stack_name.match(/#{env_hash}$/)
103
+ end
88
104
  end
89
105
 
90
106
  def deploy_feature!
@@ -466,6 +482,18 @@ class Release
466
482
  output "\nStack #{stack_name} pronto!\n".green
467
483
  end
468
484
 
485
+ def stack_list
486
+ resp = @cf.describe_stacks
487
+ stacks = resp.stacks
488
+ stacks.keep_if { |stack| stack.stack_name.include? '-qa-' }
489
+ stacks
490
+ end
491
+
492
+ def delete_stack(stack_name)
493
+ @cf.delete_stack({stack_name: stack_name})
494
+ output "Stack #{stack_name} spenta con successo\n".green
495
+ end
496
+
469
497
  def stack_ready?(stack_name)
470
498
  resp = @cf.describe_stacks({
471
499
  stack_name: stack_name
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prima-twig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-03-10 00:00:00.000000000 Z
14
+ date: 2016-03-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: twig