Class: LcpRuby::ModelFactory::SoftDeleteApplicator

Inherits:
Object
  • Object
show all
Defined in:
lib/lcp_ruby/model_factory/soft_delete_applicator.rb

Constant Summary collapse

DISCARDED_BY_TYPE_COL =
"discarded_by_type"
DISCARDED_BY_ID_COL =
"discarded_by_id"

Instance Method Summary collapse

Constructor Details

#initialize(model_class, model_definition) ⇒ SoftDeleteApplicator

Returns a new instance of SoftDeleteApplicator.



7
8
9
10
# File 'lib/lcp_ruby/model_factory/soft_delete_applicator.rb', line 7

def initialize(model_class, model_definition)
  @model_class = model_class
  @model_definition = model_definition
end

Instance Method Details

#apply!Object



12
13
14
15
16
17
18
# File 'lib/lcp_ruby/model_factory/soft_delete_applicator.rb', line 12

def apply!
  return unless @model_definition.soft_delete?

  column = @model_definition.soft_delete_column
  apply_scopes(column)
  apply_instance_methods(column)
end