Class: RailsVault::Base

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/rails_vault/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.inherited(subclass) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/rails_vault/base.rb', line 8

def inherited(subclass)
  super

  scope_name = subclass.name.demodulize.underscore

  subclass.vault_scope(scope_name)
end

.vault_attribute(key, *attributes) ⇒ Object



20
21
22
23
24
# File 'lib/rails_vault/base.rb', line 20

def vault_attribute(key, *attributes)
  options = attributes.extract_options!

  store_attribute :payload, key, *attributes, **options
end

.vault_scope(scope_name) ⇒ Object



16
17
18
# File 'lib/rails_vault/base.rb', line 16

def vault_scope(scope_name)
  default_scope { where(scope: scope_name) }
end

Instance Method Details

#vault_attributesObject



27
# File 'lib/rails_vault/base.rb', line 27

def vault_attributes = payload.keys