Sha256: 025dc36a611977ee7d9637aeaac73b2e91118fd6b99085da96ac72969c19b379

Contents?: true

Size: 504 Bytes

Versions: 2

Compression:

Stored size: 504 Bytes

Contents

class Ridgepole::ExternalSqlExecuter
  def initialize(script, logger)
    @script = script
    @logger = logger
  end

  def execute(sql)
    cmd = Shellwords.join([@script, sql])
    @logger.info("Execute #{cmd}")

    out, err, status = Open3.capture3(cmd)
    out.strip!
    err.strip!

    @logger.info("#{@script}: #{out}") unless out.empty?
    @logger.warn("[WARNING] #{@script}: #{err}") unless err.empty?

    unless status.success?
      raise "`#{@script}` execution failed"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ridgepole-0.6.4.beta2 lib/ridgepole/external_sql_executer.rb
ridgepole-0.6.4.beta lib/ridgepole/external_sql_executer.rb