module KmsRails::ActiveRecord::InstanceMethods

Public Instance Methods

clear_retained(field) click to toggle source
# File lib/kms_rails/active_record.rb, line 91
def clear_retained(field)
  @_retained ||= {}
  return if !@_retained.include?(field) || @_retained[field].nil?
  Core.shred_string(@_retained[field]) if @_retained[field].class == String
  @_retained[field] = nil
end
get_hash(field) click to toggle source
# File lib/kms_rails/active_record.rb, line 70
def get_hash(field)
  hash = read_attribute("#{field}_enc")
  hash ? MessagePack.unpack(hash) : nil
end
get_retained(field) click to toggle source
# File lib/kms_rails/active_record.rb, line 75
def get_retained(field)
  @_retained ||= {}
  @_retained[field]
end
set_retained(field, plaintext) click to toggle source
# File lib/kms_rails/active_record.rb, line 80
def set_retained(field, plaintext)
  @_retained ||= {}

  if @_retained[field]
    Core.shred_string(@_retained[field]) if @_retained[field].class == String
    @_retained[field] = nil
  end

  @_retained[field] = plaintext.dup
end
store_hash(field, data) click to toggle source
# File lib/kms_rails/active_record.rb, line 66
def store_hash(field, data)
  self["#{field}_enc"] = data.to_msgpack
end