Sha256: f86713279440944e71e7609911b3362a5d0579dd359bc5cf4079ad71e2178b3b

Contents?: true

Size: 881 Bytes

Versions: 3

Compression:

Stored size: 881 Bytes

Contents

module DataCleansing
  include SemanticLogger::Loggable

  # Global Data Cleansers
  @@global_cleaners     = ThreadSafe::Hash.new
  @@masked_attributes   = ThreadSafe::Array.new

  # Register a new cleaner
  # Replaces any existing cleaner with the same name
  def self.register_cleaner(cleaner, &block)
    raise "Must supply a Proc with the cleaner" unless block
    @@global_cleaners[cleaner.to_sym] = block
  end

  # Returns the cleaner matching the supplied cleaner name
  def self.cleaner(cleaner_name)
    @@global_cleaners[cleaner_name.to_sym]
  end

  # Register Attributes to be masked out in any log output
  def self.register_masked_attributes(*attributes)
    attributes.each {|attr| @@masked_attributes << attr.to_sym }
  end

  # Returns the Global list of attributes to mask in any log output
  def self.masked_attributes
    @@masked_attributes.freeze
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
data_cleansing-0.6.1 lib/data_cleansing/data_cleansing.rb
data_cleansing-0.6.0 lib/data_cleansing/data_cleansing.rb
data_cleansing-0.5.0 lib/data_cleansing/data_cleansing.rb