module MongoMapper::Plugins

Constants

DescendantsArray

Public Class Methods

direct_descendants_hash() click to toggle source
# File lib/mongo_mapper/plugins.rb, line 10
def self.direct_descendants_hash
  @direct_descendants_hash ||= Hash.new { |h,k| h[k] = DescendantsArray.new }
end

Public Instance Methods

direct_descendants() click to toggle source
# File lib/mongo_mapper/plugins.rb, line 25
def direct_descendants
  Plugins.direct_descendants_hash[self]
end
included(base = nil) click to toggle source
Calls superclass method
# File lib/mongo_mapper/plugins.rb, line 29
def included(base = nil)
  direct_descendants << base if base
  super
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/mongo_mapper/plugins.rb, line 34
def inherited(subclass)
  direct_descendants << subclass
  super
end
plugin(mod) click to toggle source
# File lib/mongo_mapper/plugins.rb, line 18
def plugin(mod)
  raise ArgumentError,  "Plugins must extend ActiveSupport::Concern" unless ActiveSupport::Concern === mod
  include mod
  direct_descendants.each {|model| model.send(:include, mod) }
  plugins << mod
end
plugins() click to toggle source
# File lib/mongo_mapper/plugins.rb, line 14
def plugins
  @plugins ||= []
end