Class: SharedTools::Tools::Docker::ComposeRunTool
- Inherits:
-
RubyLLM::Tool
- Object
- RubyLLM::Tool
- SharedTools::Tools::Docker::ComposeRunTool
- Defined in:
- lib/shared_tools/tools/docker/compose_run_tool.rb
Overview
Defined Under Namespace
Classes: CaptureError
Class Method Summary collapse
Instance Method Summary collapse
- #execute(command:, service: "app", args: []) ⇒ String
-
#initialize(root: nil, logger: nil) ⇒ ComposeRunTool
constructor
A new instance of ComposeRunTool.
Constructor Details
#initialize(root: nil, logger: nil) ⇒ ComposeRunTool
Returns a new instance of ComposeRunTool.
41 42 43 44 |
# File 'lib/shared_tools/tools/docker/compose_run_tool.rb', line 41 def initialize(root: nil, logger: nil) @root = root || Dir.pwd @logger = logger || RubyLLM.logger end |
Class Method Details
.name ⇒ Object
12 |
# File 'lib/shared_tools/tools/docker/compose_run_tool.rb', line 12 def self.name = 'docker_compose_run' |
Instance Method Details
#execute(command:, service: "app", args: []) ⇒ String
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/shared_tools/tools/docker/compose_run_tool.rb', line 51 def execute(command:, service: "app", args: []) @logger.info(%(#{self.class.name}#execute service="#{service}" command="#{command}" args=#{args.inspect})) Dir.chdir(@root) do capture!("docker", "compose", "run", "--build", "--rm", service, command, *args) rescue CaptureError => e @logger.info("ERROR: #{e.}") return "ERROR: #{e.}" end end |