aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/migration.rb
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2015-12-06 07:20:07 +1030
committerMatthew Draper <matthew@trebex.net>2015-12-15 17:18:09 +1030
commitf37d92c41036d4eff168b8a8951a8b8a76baa347 (patch)
tree1c8f5e7999d36fc9bffbc48ef3d16da91364efb7 /activerecord/lib/active_record/migration.rb
parenta6d4e5e5320d90dac9e9e7dbfbea6bdc093af10e (diff)
downloadrails-f37d92c41036d4eff168b8a8951a8b8a76baa347.tar.gz
rails-f37d92c41036d4eff168b8a8951a8b8a76baa347.tar.bz2
rails-f37d92c41036d4eff168b8a8951a8b8a76baa347.zip
Find the delegate, even in a deeper inheritance tree
Diffstat (limited to 'activerecord/lib/active_record/migration.rb')
-rw-r--r--activerecord/lib/active_record/migration.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index b2418e4247..d7244d1df7 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -535,6 +535,10 @@ module ActiveRecord
attr_accessor :delegate # :nodoc:
attr_accessor :disable_ddl_transaction # :nodoc:
+ def nearest_delegate # :nodoc:
+ delegate || superclass.nearest_delegate
+ end
+
# Raises <tt>ActiveRecord::PendingMigrationError</tt> error if any migrations are pending.
def check_pending!(connection = Base.connection)
raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection)
@@ -561,7 +565,7 @@ module ActiveRecord
end
def method_missing(name, *args, &block) # :nodoc:
- (delegate || superclass.delegate).send(name, *args, &block)
+ nearest_delegate.send(name, *args, &block)
end
def migrate(direction)