module EncryptedFormFields

Constants

VERSION

Attributes

secret_key_base[R]
secret_token[R]

Public Class Methods

decrypt_parameters(params) click to toggle source

Decrypt encrypted parameters object

# File lib/encrypted_form_fields.rb, line 37
def decrypt_parameters(params)
  Dfs.traverse(params || {}) do |value|
    EncryptedFormFields.decrypt_and_verify(value)
  end
end
encrypt_parameters(hash = {}) click to toggle source

Encrypt hash values

# File lib/encrypted_form_fields.rb, line 44
def encrypt_parameters(hash = {})
  Dfs.traverse(hash, &method(:encrypt_and_sign))
end
prefix_name(name) click to toggle source
# File lib/encrypted_form_fields.rb, line 28
def prefix_name(name)
  first, rest = name.split("[", 2)
  rest = "[" + rest if rest
  "_encrypted[#{first}]#{rest}"
end
secret_key_base=(key) click to toggle source
# File lib/encrypted_form_fields.rb, line 14
def secret_key_base=(key)
  @encryptor = nil
  @secret_key_base = key
end
secret_token=(key) click to toggle source
# File lib/encrypted_form_fields.rb, line 21
def secret_token=(key)
  @encryptor = nil
  @secret_token = key
end

Private Class Methods

encryptor() click to toggle source
# File lib/encrypted_form_fields.rb, line 50
def encryptor
  @encryptor ||= begin
    key = ActiveSupport::KeyGenerator.new(secret_token).generate_key(secret_key_base, 32)
    ActiveSupport::MessageEncryptor.new(key)
  end
end