module DataCleansing
Constants
- VERSION
Public Class Methods
clean(name, value, params = nil, binding = nil)
click to toggle source
Run the specified cleanser against the supplied value
# File lib/data_cleansing/data_cleansing.rb, line 31 def self.clean(name, value, params = nil, binding = nil) # Cleaner itself could be a custom Proc, otherwise do a global lookup for it proc = name.is_a?(Proc) ? name : DataCleansing.cleaner(name.to_sym) raise(ArgumentError, "No cleaner defined for #{name.inspect}") unless proc if proc.is_a?(Proc) if binding # Call the cleaner proc within the scope (binding) of the binding proc.arity == 1 ? binding.instance_exec(value, &proc) : binding.instance_exec(value, params, &proc) else proc.arity == 1 ? proc.call(value) : proc.call(value, params) end else (proc.method(:call).arity == 1 ? proc.call(value) : proc.call(value, params)) end end
cleaner(cleaner_name)
click to toggle source
Returns the cleaner matching the supplied cleaner name
# File lib/data_cleansing/data_cleansing.rb, line 16 def self.cleaner(cleaner_name) @@global_cleaners[cleaner_name.to_sym] end
masked_attributes()
click to toggle source
Returns the Global list of attributes to mask in any log output
# File lib/data_cleansing/data_cleansing.rb, line 26 def self.masked_attributes @@masked_attributes.freeze end
register_cleaner(name, cleaner = nil, &block)
click to toggle source
Register a new cleaner Replaces any existing cleaner with the same name
# File lib/data_cleansing/data_cleansing.rb, line 10 def self.register_cleaner(name, cleaner = nil, &block) raise "Must supply a Proc with the cleaner" unless block || cleaner @@global_cleaners[name.to_sym] = cleaner || block end
register_masked_attributes(*attributes)
click to toggle source
Register Attributes to be masked out in any log output
# File lib/data_cleansing/data_cleansing.rb, line 21 def self.register_masked_attributes(*attributes) attributes.each {|attr| @@masked_attributes << attr.to_sym } end