Class: MultitenancyTools::DumpCleaner

Inherits:
Object
  • Object
show all
Defined in:
lib/multitenancy_tools/dump_cleaner.rb

Overview

This class receives an SQL string and removes statements that should not be present on dumps generated by SchemaDumper and TableDumper.

Instance Method Summary collapse

Constructor Details

#initialize(sql) ⇒ DumpCleaner

Returns a new instance of DumpCleaner.

Parameters:

  • sql (String)


6
7
8
# File 'lib/multitenancy_tools/dump_cleaner.rb', line 6

def initialize(sql)
  @sql = sql.dup
end

Instance Method Details

#cleanObject

Returns a new cleaned string.

Returns:

  • String



13
14
15
16
17
18
19
20
21
# File 'lib/multitenancy_tools/dump_cleaner.rb', line 13

def clean
  @sql.gsub!(/CREATE SCHEMA .*;\n/, '')
  @sql.gsub!(/SET search_path .*;\n/, '')
  @sql.gsub!(/SET statement_timeout .*;\n/, '')
  @sql.gsub!(/SET lock_timeout .*;\n/, '')
  @sql.gsub!(/^--(?:.*)\n+/, '')
  @sql.gsub!(/\n+/, "\n")
  @sql
end