A container of attribute encryption options.
It validates and serves attribute encryption options.
Methods
- D
- F
- I
- K
- M
- N
- T
- W
Attributes
[RW] | previous_schemes |
Class Public methods
new(key_provider: nil, key: nil, deterministic: nil, downcase: nil, ignore_case: nil, previous_schemes: nil, **context_properties) Link
# File activerecord/lib/active_record/encryption/scheme.rb, line 13 def initialize(key_provider: nil, key: nil, deterministic: nil, downcase: nil, ignore_case: nil, previous_schemes: nil, **context_properties) # Initializing all attributes to +nil+ as we want to allow a "not set" semantics so that we # can merge schemes without overriding values with defaults. See +#merge+ @key_provider_param = key_provider @key = key @deterministic = deterministic @downcase = downcase || ignore_case @ignore_case = ignore_case @previous_schemes_param = previous_schemes @previous_schemes = Array.wrap(previous_schemes) @context_properties = context_properties validate_config! end
Instance Public methods
deterministic?() Link
downcase?() Link
fixed?() Link
ignore_case?() Link
key_provider() Link
merge(other_scheme) Link
to_h() Link
# File activerecord/lib/active_record/encryption/scheme.rb, line 58 def to_h { key_provider: @key_provider_param, key: @key, deterministic: @deterministic, downcase: @downcase, ignore_case: @ignore_case, previous_schemes: @previous_schemes_param, **@context_properties }.compact end