aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/lib/active_record/migration.rb11
-rw-r--r--activerecord/lib/active_record/schema.rb5
-rw-r--r--activerecord/test/cases/migration_test.rb1
3 files changed, 11 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index 4a1a84b74b..390c24c2f2 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -288,12 +288,15 @@ module ActiveRecord
#
class Migration
class << self
- attr_accessor :verbose
attr_accessor :delegate # :nodoc:
- def method_missing(name, *args, &block) # :nodoc:
- (delegate || superclass.delegate).send(name, *args, &block)
- end
end
+
+ def self.method_missing(name, *args, &block) # :nodoc:
+ (delegate || superclass.delegate).send(name, *args, &block)
+ end
+
+ cattr_accessor :verbose
+
self.delegate = new
self.verbose = true
diff --git a/activerecord/lib/active_record/schema.rb b/activerecord/lib/active_record/schema.rb
index a621248cc3..c6bb5c1961 100644
--- a/activerecord/lib/active_record/schema.rb
+++ b/activerecord/lib/active_record/schema.rb
@@ -46,11 +46,12 @@ module ActiveRecord
# ...
# end
def self.define(info={}, &block)
- new.instance_eval(&block)
+ schema = new
+ schema.instance_eval(&block)
unless info[:version].blank?
initialize_schema_migrations_table
- assume_migrated_upto_version(info[:version], migrations_path)
+ assume_migrated_upto_version(info[:version], schema.migrations_path)
end
end
end
diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb
index acb63d0031..5cd6c735af 100644
--- a/activerecord/test/cases/migration_test.rb
+++ b/activerecord/test/cases/migration_test.rb
@@ -19,6 +19,7 @@ if ActiveRecord::Base.connection.supports_migrations?
class <<self
attr_accessor :message_count
end
+
def puts(text="")
self.class.message_count ||= 0
self.class.message_count += 1