Module: Anony::Anonymisable

Defined in:
lib/anony/anonymisable.rb

Overview

The main Anony object to include in your ActiveRecord class.

Examples:

Using in a single model

class Manager < ApplicationRecord
  include Anony::Anonymisable
end

Making this available to your whole application

class ApplicationRecord < ActiveRecord::Base
  include Anony::Anonymisable
end

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#anonymise!Anony::Result

Run all anonymisation strategies on the model instance before saving it.

Examples:

manager = Manager.first
manager.anonymise!

Returns:

  • (Anony::Result)

    described if the save was successful, and the fields or errors created



97
98
99
100
101
102
103
104
105
106
# File 'lib/anony/anonymisable.rb', line 97

def anonymise!
  unless self.class.anonymise_config
    raise ArgumentError, "#{self.class.name} does not have an Anony configuration"
  end

  self.class.anonymise_config.validate! if Config.validate_before_anonymisation
  self.class.anonymise_config.apply(self)
rescue ActiveRecord::RecordNotSaved, ActiveRecord::RecordNotDestroyed => e
  Result.failed(e, self)
end

#anonymised?Boolean

Returns:

  • (Boolean)


108
109
110
# File 'lib/anony/anonymisable.rb', line 108

def anonymised?
  anonymised_at.present?
end