module Sequel::Plugins::Subclasses::ClassMethods
Attributes
Callable object that should be called with every descendent class created.
Public Instance Methods
Source
# File lib/sequel/plugins/subclasses.rb 63 def descendants 64 Sequel.synchronize{subclasses.dup}.map{|x| [x] + x.send(:descendants)}.flatten 65 end
All descendent classes of this model.
Also aliased as: descendents
Source
# File lib/sequel/plugins/subclasses.rb 72 def freeze_descendants 73 descendants.each(&:finalize_associations).each(&:freeze) 74 end
Freeze all descendent classes. This also finalizes the associations for those classes before freezing.
Also aliased as: freeze_descendents
Private Instance Methods
Source
# 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
Add the subclass to this model’s current subclasses, and initialize a new subclasses instance variable in the subclass.
Calls superclass method