Module Sequel::Plugins::SingleTableInheritance::ClassMethods
In: lib/sequel/plugins/single_table_inheritance.rb

Methods

inherited  

Attributes

sti_dataset  [R]  The base dataset for STI, to which filters are added to get only the models for the specific STI subclass.
sti_key  [R]  The column name holding the STI key for this model

Public Instance methods

Copy the sti_key and sti_dataset to the subclasses, and filter the subclass‘s dataset so it is restricted to rows where the key column matches the subclass‘s name.

[Source]

    # File lib/sequel/plugins/single_table_inheritance.rb, line 41
41:         def inherited(subclass)
42:           super
43:           sk = sti_key
44:           sd = sti_dataset
45:           subclass.set_dataset(sd.filter(sk=>subclass.name.to_s), :inherited=>true)
46:           subclass.instance_eval do
47:             @sti_key = sk
48:             @sti_dataset = sd
49:             @simple_table = nil
50:           end
51:         end

[Validate]