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, line 62 def descendants Sequel.synchronize{subclasses.dup}.map{|x| [x] + x.send(:descendants)}.flatten end
Also aliased as: descendents
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, line 71 def freeze_descendants descendants.each(&:finalize_associations).each(&:freeze) end
Also aliased as: freeze_descendents
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, line 85 def inherited(subclass) super # :nocov: Sequel.synchronize{subclasses << subclass} if NEED_SUBCLASSES # :nocov: on_subclass.call(subclass) if on_subclass end