aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-11-18 15:09:25 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2010-11-19 10:24:15 -0800
commitb29a24bb6f13b8af9c12b77ee0ddc1f84c79ab55 (patch)
treee4e336cd196966fa2c14c1f0b3829ac5a1a05485
parent5d93900dc6a423fe8d7b0c6e330deeaca4b8b72c (diff)
downloadrails-b29a24bb6f13b8af9c12b77ee0ddc1f84c79ab55.tar.gz
rails-b29a24bb6f13b8af9c12b77ee0ddc1f84c79ab55.tar.bz2
rails-b29a24bb6f13b8af9c12b77ee0ddc1f84c79ab55.zip
commands are reversed
-rw-r--r--activerecord/lib/active_record/migration/command_recorder.rb2
-rw-r--r--activerecord/test/cases/migration/command_recorder_test.rb7
2 files changed, 8 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/migration/command_recorder.rb b/activerecord/lib/active_record/migration/command_recorder.rb
index 231e981e53..73450c2390 100644
--- a/activerecord/lib/active_record/migration/command_recorder.rb
+++ b/activerecord/lib/active_record/migration/command_recorder.rb
@@ -20,7 +20,7 @@ module ActiveRecord
# Returns a list that represents commands that are the inverse of the
# commands stored in +commands+.
def inverse
- @commands.map { |name, args| send(:"invert_#{name}", args) }
+ @commands.reverse.map { |name, args| send(:"invert_#{name}", args) }
end
private
diff --git a/activerecord/test/cases/migration/command_recorder_test.rb b/activerecord/test/cases/migration/command_recorder_test.rb
index c33ce7cadf..47c3332078 100644
--- a/activerecord/test/cases/migration/command_recorder_test.rb
+++ b/activerecord/test/cases/migration/command_recorder_test.rb
@@ -20,6 +20,13 @@ module ActiveRecord
assert_equal 2, @recorder.inverse.length
end
+ def test_inverted_commands_are_reveresed
+ @recorder.record :create_table, [:hello]
+ @recorder.record :create_table, [:world]
+ tables = @recorder.inverse.map(&:last)
+ assert_equal [[:world], [:hello]], tables
+ end
+
def test_invert_create_table
@recorder.record :create_table, [:system_settings]
drop_table = @recorder.inverse.first