Class: RailsVault::Base

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

Class Method Summary collapse

Class Method Details

.inherited(subclass) ⇒ Object



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

def self.inherited(subclass)
  super
  scope_name = subclass.name.demodulize.underscore

  subclass.vault_scope(scope_name)
end

.vault_attribute(key, *attributes) ⇒ Object



18
19
20
21
22
# File 'lib/rails_vault/base.rb', line 18

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

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

.vault_scope(scope_name) ⇒ Object



14
15
16
# File 'lib/rails_vault/base.rb', line 14

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