class DumpTruck::TableConfiguration

Attributes

mode[R]
name[R]
obfuscators[R]
query[R]

Public Class Methods

new(name = nil) click to toggle source
# File lib/dump_truck/table_configuration.rb, line 5
def initialize(name = nil)
  @name = name.to_s
  @obfuscators = Hash.new(proc{|value| value})
  @mode = :none

  instance_eval(&Proc.new) if block_given?
end

Public Instance Methods

==(other) click to toggle source
# File lib/dump_truck/table_configuration.rb, line 52
def ==(other)
  name == other.name &&
    mode == other.mode &&
    (mode != :some || query == other.query)
end
ignore() click to toggle source
# File lib/dump_truck/table_configuration.rb, line 17
def ignore
  @mode = :ignore
end
keep(query = nil) click to toggle source
# File lib/dump_truck/table_configuration.rb, line 21
def keep(query = nil)
  @query = query

  if query
    @mode = :some
  else
    @mode = :all
  end
end
obfuscate(column) click to toggle source
# File lib/dump_truck/table_configuration.rb, line 39
def obfuscate(column)
  column = column.to_s
  if block_given?
    @obfuscators[column] = Proc.new
  else
    @obfuscators[column] = proc{nil}
  end
end
obfuscate_default() click to toggle source
# File lib/dump_truck/table_configuration.rb, line 31
def obfuscate_default
  if block_given?
    @obfuscators.default = Proc.new
  else
    @obfuscators.default
  end
end
obfuscate_value(column, value, n) click to toggle source
# File lib/dump_truck/table_configuration.rb, line 48
def obfuscate_value(column, value, n)
  @obfuscators[column.to_s].call(value, n)
end
to_s() click to toggle source
# File lib/dump_truck/table_configuration.rb, line 58
def to_s
  query_string = mode == :some ? ", query: #{query}" : ''
  "<DumpTruck::TableConfiguration(#{name}) mode: #{mode}#{query_string} (#{obfuscators.keys.join(', ')})>"
end
truncate() click to toggle source
# File lib/dump_truck/table_configuration.rb, line 13
def truncate
  @mode = :none
end