Class: RcrewAI::Rails::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/rcrewai/rails/install/install_generator.rb

Constant Summary collapse

MOUNT_PATH =
"/rcrewai".freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object

Required by Rails::Generators::Migration so the copied migration gets a real timestamped filename instead of colliding on every install.



17
18
19
# File 'lib/generators/rcrewai/rails/install/install_generator.rb', line 17

def self.next_migration_number(dirname)
  ::ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#create_initializerObject



21
22
23
# File 'lib/generators/rcrewai/rails/install/install_generator.rb', line 21

def create_initializer
  template "rcrewai.rb", "config/initializers/rcrewai.rb"
end

#create_migration_fileObject



25
26
27
28
# File 'lib/generators/rcrewai/rails/install/install_generator.rb', line 25

def create_migration_file
  migration_template "create_rcrewai_tables.rb",
                     "db/migrate/create_rcrewai_tables.rb"
end

#display_post_install_messageObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/generators/rcrewai/rails/install/install_generator.rb', line 34

def display_post_install_message
  say "\n✅ RcrewAI Rails has been installed!", :green
  say "\nNext steps:", :yellow
  say "  1. Run `rails db:migrate` to create the RcrewAI tables"
  say "  2. Configure your settings in config/initializers/rcrewai.rb"
  say "  3. Set your LLM API keys in environment variables"
  say "  4. Visit #{MOUNT_PATH} to monitor your crews"
  say "  5. Start building AI crews with RcrewAI!"
  say "\n"
end

#mount_engineObject



30
31
32
# File 'lib/generators/rcrewai/rails/install/install_generator.rb', line 30

def mount_engine
  route "mount RcrewAI::Rails::Engine => '#{MOUNT_PATH}'"
end