Class: Demeter::Commands::Plan
- Defined in:
- lib/demeter/commands/plan.rb
Instance Method Summary collapse
Methods inherited from Base
Constructor Details
This class inherits a constructor from Demeter::Commands::Base
Instance Method Details
#start ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/demeter/commands/plan.rb', line 8 def start sgs_manager = Demeter::Aws::ManageSecurityGroups.new(ec2: @ec2, options: ) diff = sgs_manager.diff_all rows = [] i = 0 diff.each do |sg, diffs| rows << :separator if i > 0 rows << [{:value => sg, :colspan => 3, :alignment => :left}] rows << :separator diffs.sort_by! { |d| d[0] } diffs.each do |_diff| if _diff[2].is_a? Array _diff[2].each do |__diff| rows << [_diff[0] == '+' ? _diff[0].colorize(:green) : _diff[0].colorize(:red), _diff[1], __diff.to_s] end else rows << [_diff[0] == '+' ? _diff[0].colorize(:green) : _diff[0].colorize(:red), _diff[1], _diff[2].to_s] end end i += 1 end if rows.empty? puts "All #{Demeter::env} security groups are in sync" else table = Terminal::Table.new :rows => rows puts table end end |