Class: RubyLLM::Generators::ToolGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- RubyLLM::Generators::ToolGenerator
- Includes:
- GeneratorHelpers
- Defined in:
- lib/generators/ruby_llm/tool/tool_generator.rb
Overview
Generator for RubyLLM tool classes and related message partials.
Constant Summary
Constants included from GeneratorHelpers
GeneratorHelpers::APPLICATION_MODEL_TYPES, GeneratorHelpers::DEFAULT_MODEL_NAMES
Instance Method Summary collapse
Methods included from GeneratorHelpers
#acts_as_chat_declaration, #acts_as_message_declaration, #chat_controller_class_name, #chat_job_class_name, #create_migration_class_name, #create_namespace_modules, #gem_in_bundle?, #message_controller_class_name, #migration_version, #model_controller_class_name, #model_model_name, #model_resource_name, #model_variable_name, #mysql?, #parse_model_mappings, #postgresql?, #reference_type, #table_exists?, #tailwind_available?, #tool_call_variable_name, #ui_template, #ui_variant, #unprocessable_content_status, #usage_operations_sql, #usage_statuses_sql, #validate_model_mapping!
Instance Method Details
#check_tool_class_collision ⇒ Object
23 24 25 |
# File 'lib/generators/ruby_llm/tool/tool_generator.rb', line 23 def check_tool_class_collision class_collisions tool_class_name end |
#create_tool_file ⇒ Object
27 28 29 |
# File 'lib/generators/ruby_llm/tool/tool_generator.rb', line 27 def create_tool_file template 'tool.rb.tt', File.join('app/tools', class_path, "#{tool_file_name}.rb") end |
#create_tool_view_partials ⇒ Object
31 32 33 34 35 36 |
# File 'lib/generators/ruby_llm/tool/tool_generator.rb', line 31 def create_tool_view_partials template ui_template('tool_call.html.erb'), File.join(, 'tool_calls', "_#{tool_partial_name}.html.erb") template ui_template('tool_result.html.erb'), File.join(, 'tool_results', "_#{tool_partial_name}.html.erb") end |