Module: DeletedAt::Core

Defined in:
lib/deleted_at/core.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.has_deleted_at_column?(klass) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/deleted_at/core.rb', line 22

def self.has_deleted_at_column?(klass)
  klass.columns.map(&:name).include?(klass.deleted_at.dig(:column).to_s)
end

.prepended(subclass) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/deleted_at/core.rb', line 7

def self.prepended(subclass)
  class << subclass
    cattr_accessor :deleted_at
    self.deleted_at = {}
    alias all_without_deleted_at all
  end

  subclass.extend(ClassMethods)
end

.raise_missing(klass) ⇒ Object



17
18
19
20
# File 'lib/deleted_at/core.rb', line 17

def self.raise_missing(klass)
  message = "Missing `#{klass.deleted_at[:column]}` in `#{klass.name}` when trying to employ `deleted_at`"
  raise(DeletedAt::MissingColumn, message)
end