Module: Sequel::Plugins::ClassTableInheritance::InstanceMethods

Defined in:
lib/sequel/plugins/class_table_inheritance.rb

Instance Method Summary collapse

Instance Method Details

#before_createObject

Set the cti_key column to the name of the model.



199
200
201
202
# File 'lib/sequel/plugins/class_table_inheritance.rb', line 199

def before_create
  send("#{model.cti_key}=", model.name.to_s) if model.cti_key
  super
end

#deleteObject

Delete the row from all backing tables, starting from the most recent table and going through all superclasses.

Raises:



206
207
208
209
210
211
212
213
# File 'lib/sequel/plugins/class_table_inheritance.rb', line 206

def delete
  raise Sequel::Error, "can't delete frozen object" if frozen?
  m = model
  m.cti_tables.reverse.each do |table|
    m.db.from(table).filter(m.primary_key=>pk).delete
  end
  self
end