Module: Aircana::CLI::Init

Defined in:
lib/aircana/cli/commands/init.rb

Overview

rubocop:disable Metrics/ModuleLength

Class Method Summary collapse

Class Method Details

.run(directory: nil, plugin_name: nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/aircana/cli/commands/init.rb', line 13

def run(directory: nil, plugin_name: nil)
  target_dir = resolve_target_directory(directory)

  with_directory_config(target_dir) do
    # Collect plugin metadata
     = (target_dir, plugin_name)

    # Create plugin structure
    create_plugin_structure(target_dir)

    # Create plugin manifest
    create_plugin_manifest(target_dir, )

    # Generate and install commands
    generate_files
    install_commands

    # Install hooks
    install_hooks

    # Success message
    display_success_message()
  end
end