module Sequel::Plugins::Vault::InstanceMethods

Public Instance Methods

[](attr) click to toggle source
Calls superclass method
# File lib/sequel_vault.rb, line 90
def [](attr)
  if model.vault_attrs.include?(attr)
    cypher = super(attr)
    self.class.decrypt(model.vault_keys, cypher) unless cypher.nil?
  else
    super(attr)
  end
end
[]=(attr, plain) click to toggle source
Calls superclass method
# File lib/sequel_vault.rb, line 81
def []=(attr, plain)
  if model.vault_attrs.include?(attr) && !plain.nil?
    send("#{attr}_digest=", self.class.digest(model.vault_keys, plain)) if respond_to?("#{attr}_digest=")
    send('key_id=', model.vault_keys.length) if respond_to?('key_id=')
    value = self.class.encrypt(model.vault_keys, plain)
  end
  super(attr, value || plain)
end