Module: AttrKeyring

Defined in:
lib/attr_keyring.rb,
lib/attr_keyring/sequel.rb,
lib/attr_keyring/version.rb,
lib/attr_keyring/active_record.rb,
lib/attr_keyring/encoders/json_encoder.rb

Defined Under Namespace

Modules: ActiveRecord, ClassMethods, Encoders, InstanceMethods, Sequel

Constant Summary collapse

VERSION =
"0.7.0"

Class Method Summary collapse

Class Method Details

.active_recordObject



8
9
10
11
# File 'lib/attr_keyring.rb', line 8

def self.active_record
  require "attr_keyring/active_record"
  ::AttrKeyring::ActiveRecord
end

.sequelObject



13
14
15
16
# File 'lib/attr_keyring.rb', line 13

def self.sequel
  require "attr_keyring/sequel"
  ::AttrKeyring::Sequel
end

.setup(target) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/attr_keyring.rb', line 18

def self.setup(target)
  target.class_eval do
    extend ClassMethods
    include InstanceMethods

    class << self
      attr_accessor :encrypted_attributes, :keyring, :keyring_column_name
    end

    self.encrypted_attributes = {}
    self.keyring = Keyring.new({}, digest_salt: "")
    self.keyring_column_name = :keyring_id
  end
end