module

ActiveRecord::Encryption::ExtendedDeterministicQueries

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: "jorge@hey.com")

The value “jorge@hey.com” 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: [ "jorge@hey.com", "<encrypted jorge@hey.com>" ])

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