Class: Hyraft::Rule::DisassembleCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/hyraft/rule/disassemble_command.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ DisassembleCommand

Returns a new instance of DisassembleCommand.



10
11
12
13
14
# File 'lib/hyraft/rule/disassemble_command.rb', line 10

def initialize(args)
  @resource_input = args[0]  # Can be "users" or "admin-app/users"
  @target_dir = args[1] || "."
  parse_resource_input
end

Class Method Details

.start(args) ⇒ Object



6
7
8
# File 'lib/hyraft/rule/disassemble_command.rb', line 6

def self.start(args)
  new(args).execute
end

Instance Method Details

#executeObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/hyraft/rule/disassemble_command.rb', line 16

def execute
  return show_manifest unless @resource_name

  puts "\e[31m🗑️  COMPLETE Disassembly: Removing ALL '#{@resource_name}' resources\e[0m"
  puts "\e[33m⚠️  WARNING: This will remove engine layer, ALL adapters, and ALL templates!\e[0m"
  puts ""
  puts "This will delete:"
  puts "  • Engine layer (sources, circuits, ports)"
  puts "  • ALL web adapters (across all app folders)" 
  puts "  • ALL templates (across all app folders)"
  puts "  • Data gateway"
  puts ""
  print "\e[31mAre you sure you want to continue? (yes/NO): \e[0m"
  
  confirmation = $stdin.gets.chomp.downcase
  unless confirmation == 'yes'
    puts "\e[32mDisassembly cancelled\e[0m"
    return
  end
  
  disassemble_engine_layer  
  disassemble_all_adapters
  disassemble_all_templates
  disassemble_gateway
  
  puts "\e[32m✅ Complete Disassembly: ALL '#{@resource_name}' resources removed\e[0m"
end