Class: OmniAI::Tools::Docker::ComposeRunTool

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/omniai/tools/docker/compose_run_tool.rb

Overview

Examples:

tool = OmniAI::Tools::Docker::ComposeRunTool.new(root: "./project")
tool.execute(service: "app", command: "rspec" args: ["spec/main_spec.rb"])

Instance Method Summary collapse

Methods inherited from BaseTool

#initialize

Constructor Details

This class inherits a constructor from OmniAI::Tools::Docker::BaseTool

Instance Method Details

#execute(command:, service: "app", args: []) ⇒ String

Parameters:

  • service (String) (defaults to: "app")
  • command (String)
  • args (Array<String>) (defaults to: [])

Returns:

  • (String)


24
25
26
27
28
29
30
31
32
33
# File 'lib/omniai/tools/docker/compose_run_tool.rb', line 24

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.message}")
    return "ERROR: #{e.message}"
  end
end