module ExtendedDeterministicQueries

Ruby on Rails 8.1.2

Since v7.0.10

Available in: v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

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:

  • ActiveRecord::Base - Used in Contact.find_by_email_address(...)

  • ActiveRecord::Relation - Used in Contact.internal.find_by_email_address(...)

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

Namespace

Modules

Classes

Methods (defined here)

Type at least 2 characters to search.

↑↓ navigate · open · esc close