Module: Sequel::Plugins::Vault::InstanceMethods

Defined in:
lib/sequel_vault.rb

Instance Method Summary collapse

Instance Method Details

#[](attr) ⇒ Object



90
91
92
93
94
95
96
97
# 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) ⇒ Object



81
82
83
84
85
86
87
88
# 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