Module: Sequel::Plugins::SingleTableInheritance::ClassMethods

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

inherited(subclass)

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]