Class: SolidAgents::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_initializer ⇒ Object



11
12
13
# File 'lib/generators/solid_agents/install/install_generator.rb', line 11

def add_initializer
  template "config/initializers/solid_agents.rb"
end

#add_schema ⇒ Object



7
8
9
# File 'lib/generators/solid_agents/install/install_generator.rb', line 7

def add_schema
  template "db/agent_schema.rb"
end

#configure_environment ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/solid_agents/install/install_generator.rb', line 15

def configure_environment
  insert_into_file Pathname(destination_root).join("config/environments/production.rb"), after: /^([ \t]*).*?(?=\nend)$/ do
    [
      "",
      '\\1# Configure Solid Agent',
      '\\1config.solid_agents.connects_to = { database: { writing: :solid_agents } }',
      '\\1config.solid_agents.default_runtime = :ruby_llm',
      '\\1config.solid_agents.default_provider = :openrouter'
    ].join("\n")
  end
end

#ensure_migrations_directory ⇒ Object



27
28
29
30
31
32
33
# File 'lib/generators/solid_agents/install/install_generator.rb', line 27

def ensure_migrations_directory
  empty_directory "db/agent_migrate"
  keep_path = Pathname(destination_root).join("db/agent_migrate/.gitkeep")
  return if keep_path.exist?

  create_file "db/agent_migrate/.gitkeep", "# Keep the SolidAgents migrations directory tracked by Git.\n"
end