Module: Sequel::Plugins::ClassTableInheritance::InstanceMethods
- Defined in:
- lib/sequel/plugins/class_table_inheritance.rb
Instance Method Summary collapse
-
#before_create ⇒ Object
Set the cti_key column to the name of the model.
-
#delete ⇒ Object
Delete the row from all backing tables, starting from the most recent table and going through all superclasses.
Instance Method Details
#before_create ⇒ Object
Set the cti_key column to the name of the model.
191 192 193 194 |
# File 'lib/sequel/plugins/class_table_inheritance.rb', line 191 def before_create send("#{model.cti_key}=", model.name.to_s) if model.cti_key super end |
#delete ⇒ Object
Delete the row from all backing tables, starting from the most recent table and going through all superclasses.
198 199 200 201 202 203 204 205 |
# File 'lib/sequel/plugins/class_table_inheritance.rb', line 198 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 |