Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions lib/cursor/models/active_record_extension.rb
Original file line number Diff line number Diff line change
@@ -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
Expand Down