diff --git a/lib/cursor/models/active_record_extension.rb b/lib/cursor/models/active_record_extension.rb index 05ba9a2..bbcc35e 100644 --- a/lib/cursor/models/active_record_extension.rb +++ b/lib/cursor/models/active_record_extension.rb @@ -1,20 +1,18 @@ require 'cursor/models/active_record_model_extension' module Cursor - - module InheritedOverride - def inherited(kls) - inherited_without_cursor kls - kls.send(:include, Cursor::ActiveRecordModelExtension) if kls.superclass == ::ActiveRecord::Base - end - end - module ActiveRecordExtension extend ActiveSupport::Concern - included do + + module ClassMethods # Future subclasses will pick up the model extension - self.prepend Cursor::InheritedOverride + def inherited(kls) #:nodoc: + super + kls.send(:include, Cursor::ActiveRecordModelExtension) if kls.superclass == ::ActiveRecord::Base + end + end + included do # Existing subclasses pick up the model extension as well self.descendants.each do |kls| kls.send(:include, Cursor::ActiveRecordModelExtension) if kls.superclass == ::ActiveRecord::Base