Class: Legion::CLI::AdminCommand
- Inherits:
-
Thor
- Object
- Thor
- Legion::CLI::AdminCommand
- Defined in:
- lib/legion/cli/admin_command.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.detect_old_exchanges(exchanges) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/legion/cli/admin_command.rb', line 44 def self.detect_old_exchanges(exchanges) lex_names = exchanges.select { |e| e[:name].to_s.start_with?('lex.') } .to_set { |e| e[:name].to_s.sub('lex.', '') } exchanges.select do |e| next false unless e[:name].to_s.start_with?('legion.') suffix = e[:name].to_s.sub('legion.', '') lex_names.include?(suffix) end end |
Instance Method Details
#purge_topology ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/legion/cli/admin_command.rb', line 21 def purge_topology exchanges = fetch_exchanges candidates = self.class.detect_old_exchanges(exchanges) if candidates.empty? say 'No old v2.0 topology exchanges found.', :green return end say "Found #{candidates.size} old v2.0 exchange(s):", :yellow candidates.each { |e| say " #{e[:name]} (#{e[:type]})" } if [:execute] && ![:dry_run] candidates.each do |exchange| delete_exchange(exchange[:name]) say " Deleted: #{exchange[:name]}", :red end say "Purged #{candidates.size} exchange(s).", :green else say "\nDry run. Use --execute --no-dry-run to delete.", :cyan end end |