class PgExport::Adapters::BashAdapter

Public Instance Methods

pg_dump(file, db_name) click to toggle source
# File lib/pg_export/lib/pg_export/adapters/bash_adapter.rb, line 11
def pg_dump(file, db_name)
  popen("pg_dump -Fc --file #{file.path} #{db_name}") do |errors|
    raise PgDumpError, errors.chomp unless errors.empty?
  end

  file
end
pg_restore(file, db_name) click to toggle source
# File lib/pg_export/lib/pg_export/adapters/bash_adapter.rb, line 19
def pg_restore(file, db_name)
  popen("pg_restore -c -d #{db_name} #{file.path}") do |errors|
    raise PgRestoreError, errors.chomp if /FATAL/ =~ errors
  end
end

Private Instance Methods

popen(command) { |errors| ... } click to toggle source
# File lib/pg_export/lib/pg_export/adapters/bash_adapter.rb, line 27
def popen(command)
  Open3.popen3(command) do |_, _, err|
    errors = err.read
    yield errors
  end

  self
end