Class: RubyLLM::Generators::Mongoid::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RubyLLM::Generators::Mongoid::InstallGenerator
- 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
- #create_convention_directories ⇒ Object
- #create_initializer ⇒ Object
- #create_model_files ⇒ Object
- #show_install_info ⇒ Object
Instance Method Details
#create_convention_directories ⇒ Object
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_initializer ⇒ Object
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_files ⇒ Object
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/#{.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_info ⇒ Object
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 |