Class: RubyLLM::Generators::Mongoid::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/ruby_llm/mongoid/install/install_generator.rb

Overview

Generator that scaffolds Mongoid model files for ruby_llm-mongoid. Unlike the ActiveRecord generator there are no migrations — Mongoid models declare their fields inline.

Usage:

bin/rails g ruby_llm:mongoid:install [chat:ChatName] [message:MessageName] ...

Instance Method Summary collapse

Instance Method Details

#create_convention_directoriesObject



35
36
37
38
39
# File 'lib/generators/ruby_llm/mongoid/install/install_generator.rb', line 35

def create_convention_directories
  %w[agents tools schemas prompts].each do |name|
    empty_directory "app/#{name}"
  end
end

#create_initializerObject



31
32
33
# File 'lib/generators/ruby_llm/mongoid/install/install_generator.rb', line 31

def create_initializer
  template "initializer.rb.tt", "config/initializers/ruby_llm.rb"
end

#create_model_filesObject



24
25
26
27
28
29
# File 'lib/generators/ruby_llm/mongoid/install/install_generator.rb', line 24

def create_model_files
  template "chat_model.rb.tt",      "app/models/#{chat_model_name.underscore}.rb"
  template "message_model.rb.tt",   "app/models/#{message_model_name.underscore}.rb"
  template "tool_call_model.rb.tt", "app/models/#{tool_call_model_name.underscore}.rb"
  template "model_model.rb.tt",     "app/models/#{model_model_name.underscore}.rb"
end

#show_install_infoObject



41
42
43
44
45
46
47
48
49
# File 'lib/generators/ruby_llm/mongoid/install/install_generator.rb', line 41

def show_install_info
  say "\n  ruby_llm-mongoid installed!", :green
  say "\n  Next steps:", :yellow
  say "     1. Ensure mongoid.yml is configured (bin/rails g mongoid:config)"
  say "     2. Run: bin/rails ruby_llm:mongoid:create_indexes"
  say "     3. Set your API keys in config/initializers/ruby_llm.rb"
  say "     4. Start chatting: #{chat_model_name}.create!(model: 'gpt-4.1-nano').ask('Hello!')"
  say "\n  Documentation: https://github.com/SalScotto/ruby_llm-mongoid\n", :cyan
end