Module: FullSearch::SoftDelete

Defined in:
lib/full_search/soft_delete.rb

Class Method Summary collapse

Class Method Details

.active_update_clause(model) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/full_search/soft_delete.rb', line 5

def self.active_update_clause(model)
  dsl = model.full_search_dsl
  return nil unless dsl&.soft_delete_column

  col = model.connection.quote_column_name(dsl.soft_delete_column)
  "WHEN new.#{col} IS NULL"
end

.delete_transition_sql(model) ⇒ Object



21
22
23
# File 'lib/full_search/soft_delete.rb', line 21

def self.delete_transition_sql(model)
  active_update_clause(model)
end

.soft_delete_remove_clause(model) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/full_search/soft_delete.rb', line 13

def self.soft_delete_remove_clause(model)
  dsl = model.full_search_dsl
  return nil unless dsl&.soft_delete_column

  col = model.connection.quote_column_name(dsl.soft_delete_column)
  "WHEN old.#{col} IS NULL AND new.#{col} IS NOT NULL"
end