module

ActiveRecord::Encryption::ExtendedDeterministicQueries

rails latest stable

Automatically expand encrypted arguments to support querying both encrypted and unencrypted data

Active Record Encryption supports querying the db using deterministic attributes. For example:

Contact.find_by(email_address: "[email protected]")

The value “[email protected]” will get encrypted automatically to perform the query. But there is a problem while the data is being encrypted. This won’t work. During that time, you need these queries to be:

Contact.find_by(email_address: [ "[email protected]", "<encrypted [email protected]>" ])

This patches ActiveRecord to support this automatically. It addresses both:

This module is included if `config.active_record.encryption.extend_queries` is `true`.

Included modules

  • ActiveRecord::Encryption::ExtendedDeterministicQueries::CoreQueries

Files

  • activerecord/lib/active_record/encryption/extended_deterministic_queries.rb