Class: SharedTools::Tools::Disk::FileReplaceTool

Inherits:
RubyLLM::Tool
  • Object
show all
Defined in:
lib/shared_tools/tools/disk/file_replace_tool.rb

Overview

Examples:

tool = SharedTools::Tools::Disk::FileReadTool.new(root: "./project")
tool.execute(
  old_text: 'puts "ABC"',
  new_text: 'puts "DEF"',
  path: "README.md"
)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(driver: nil, logger: nil) ⇒ FileReplaceTool

Returns a new instance of FileReplaceTool.



26
27
28
29
# File 'lib/shared_tools/tools/disk/file_replace_tool.rb', line 26

def initialize(driver: nil, logger: nil)
  @driver = driver || SharedTools::Tools::Disk::LocalDriver.new(root: Dir.pwd)
  @logger = logger || RubyLLM.logger
end

Class Method Details

.nameObject



16
# File 'lib/shared_tools/tools/disk/file_replace_tool.rb', line 16

def self.name = 'disk_file_replace'

Instance Method Details

#execute(old_text:, new_text:, path:) ⇒ Object

Parameters:



34
35
36
37
38
39
40
# File 'lib/shared_tools/tools/disk/file_replace_tool.rb', line 34

def execute(old_text:, new_text:, path:)
  @logger.info %(#{self.class.name}#execute old_text="#{old_text}" new_text="#{new_text}" path="#{path}")
  @driver.file_replace(old_text:, new_text:, path:)
rescue SecurityError => e
  @logger.error(e.message)
  raise e
end