Sha256: 3782f01f7f65ea4ec572a08c523ba1bb05036fbe02ad77b20cb313af696614d9
Contents?: true
Size: 493 Bytes
Versions: 6
Compression:
Stored size: 493 Bytes
Contents
# encoding: UTF-8 module MarkMapper module Plugins include ActiveSupport::DescendantsTracker def plugins @plugins ||= [] end 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 def included(base = nil) direct_descendants << base if base super end end end
Version data entries
6 entries across 6 versions & 1 rubygems