Method: Medea::JasonBase#delete!

Defined in:
lib/medea/jason_base.rb

#delete!(cascade = false) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'lib/medea/jason_base.rb', line 98

def delete! cascade=false
  #TODO: Put this into some kind of async method or have JasonDB able to set flags on many records at once
  #This will be REALLY REALLY slowww!
  if cascade && (self.class.class_variable_defined? :@@lists)
    @@lists.keys.each do |list_name|
      #for each list that I have
      list = send(list_name)
      list.each do |item|
        #remove each item from the list, deleting it if possible
        list.remove! item, true
      end
    end
  end
  persist_changes :delete
end