module Sequel::Plugins::Subclasses::ClassMethods

Attributes

on_subclass[R]

Callable object that should be called with every descendent class created.

Public Instance Methods

descendants() click to toggle source

All descendent classes of this model.

   # File lib/sequel/plugins/subclasses.rb
63 def descendants
64   Sequel.synchronize{subclasses.dup}.map{|x| [x] + x.send(:descendants)}.flatten
65 end
Also aliased as: descendents
descendents()

SEQUEL6: Remove

Alias for: descendants
freeze_descendants() click to toggle source

Freeze all descendent classes. This also finalizes the associations for those classes before freezing.

   # File lib/sequel/plugins/subclasses.rb
72 def freeze_descendants
73   descendants.each(&:finalize_associations).each(&:freeze)
74 end
Also aliased as: freeze_descendents
freeze_descendents()

SEQUEL6: Remove

Alias for: freeze_descendants

Private Instance Methods

inherited(subclass) click to toggle source

Add the subclass to this model’s current subclasses, and initialize a new subclasses instance variable in the subclass.

Calls superclass method
   # File lib/sequel/plugins/subclasses.rb
86 def inherited(subclass)
87   super
88   # :nocov:
89   Sequel.synchronize{subclasses << subclass} if NEED_SUBCLASSES
90   # :nocov:
91   on_subclass.call(subclass) if on_subclass
92 end