Module: AttrKeyring
- Defined in:
- lib/attr_keyring.rb,
lib/attr_keyring/key.rb,
lib/attr_keyring/keyring.rb,
lib/attr_keyring/version.rb,
lib/attr_keyring/active_record.rb,
lib/attr_keyring/encryptor/aes.rb,
lib/attr_keyring/encryptor/aes_128_cbc.rb,
lib/attr_keyring/encryptor/aes_256_cbc.rb
Defined Under Namespace
Modules: ActiveRecord, Encryptor Classes: Key, Keyring
Constant Summary collapse
- UnknownKey =
Class.new(StandardError)
- InvalidSecret =
Class.new(StandardError)
- VERSION =
"0.2.2".freeze
Class Method Summary collapse
Class Method Details
.included(target) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/attr_keyring.rb', line 17 def self.included(target) target.class_eval do extend AttrKeyring::ActiveRecord::ClassMethods include AttrKeyring::ActiveRecord::InstanceMethods class << self attr_accessor :keyring_attrs attr_accessor :keyring def inherited(subclass) super subclass.keyring_attrs = [] subclass.keyring = Keyring.new({}) end end cattr_accessor :keyring_column_name, default: "keyring_id" self.keyring_attrs = [] self.keyring = Keyring.new({}) before_save :migrate_to_latest_encryption_key end end |