prima-twig 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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