class Anonymizable::Configuration
Attributes
associations_to_anonymize[R]
associations_to_delete[R]
associations_to_destroy[R]
attrs_to_anonymize[R]
attrs_to_nullify[R]
guard[R]
post_anonymization_callbacks[R]
Public Class Methods
new(klass)
click to toggle source
# File lib/anonymizable/configuration.rb, line 16 def initialize(klass) @klass = klass @guard = nil @attrs_to_nullify = Set.new @attrs_to_anonymize = Hash.new @associations_to_anonymize = Set.new @associations_to_delete = Set.new @associations_to_destroy = Set.new @post_anonymization_callbacks = Set.new @public = false @raise_on_delete = false end
Public Instance Methods
after(*callbacks)
click to toggle source
# File lib/anonymizable/configuration.rb, line 49 def after(*callbacks) callbacks.each do |callback| validate_callback(callback) end @post_anonymization_callbacks += callbacks end
associations(*associations, &block)
click to toggle source
# File lib/anonymizable/configuration.rb, line 45 def associations(*associations, &block) instance_eval(&block) end
attributes(*attrs)
click to toggle source
# File lib/anonymizable/configuration.rb, line 35 def attributes(*attrs) @attrs_to_anonymize.merge! attrs.extract_options! attrs.each do |attr| validate_attribute(attr) end @attrs_to_nullify += attrs end
only_if(callback)
click to toggle source
# File lib/anonymizable/configuration.rb, line 29 def only_if(callback) validate_callback(callback) @guard = callback end
public?()
click to toggle source
# File lib/anonymizable/configuration.rb, line 57 def public? @public end
raise_on_delete?()
click to toggle source
# File lib/anonymizable/configuration.rb, line 61 def raise_on_delete? @raise_on_delete end
Private Instance Methods
anonymize(*associations)
click to toggle source
# File lib/anonymizable/configuration.rb, line 75 def anonymize(*associations) @associations_to_anonymize += associations end
delete(*associations)
click to toggle source
# File lib/anonymizable/configuration.rb, line 79 def delete(*associations) @associations_to_delete += associations end
destroy(*associations)
click to toggle source
# File lib/anonymizable/configuration.rb, line 83 def destroy(*associations) @associations_to_destroy += associations end
public()
click to toggle source
# File lib/anonymizable/configuration.rb, line 67 def public @public = true end
raise_on_delete()
click to toggle source
# File lib/anonymizable/configuration.rb, line 71 def raise_on_delete @raise_on_delete = true end
validate_attribute(attr)
click to toggle source
# File lib/anonymizable/configuration.rb, line 93 def validate_attribute(attr) if !@klass.attribute_names.include?(attr.to_s) raise ConfigurationError.new("Nonexitent attribute #{attr} on #{@klass}.") end end
validate_callback(callback)
click to toggle source
# File lib/anonymizable/configuration.rb, line 87 def validate_callback(callback) if !callback.respond_to?(:call) && !callback.is_a?(String) && !callback.is_a?(Symbol) raise ConfigurationError.new("Expected #{callback} to respond to 'call' or be a string or symbol.") end end