From 4090d250c93861b81ebdf6af4b116577312e1db8 Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 27 Feb 2017 17:49:00 +0300 Subject: [PATCH] Fix AR exdending --- lib/cursor/models/active_record_extension.rb | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) 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