diff options
author | Piotr Sarnacki <drogus@gmail.com> | 2010-07-26 14:06:14 +0200 |
---|---|---|
committer | Piotr Sarnacki <drogus@gmail.com> | 2010-09-03 22:59:09 +0200 |
commit | 75f8ac6ea71e4b2337f870b91ac05df98f33a8d2 (patch) | |
tree | b3fe95ec53958ce38a2b5fe23e7878dafd675b92 /activerecord/test/cases/helper.rb | |
parent | 2068b8cb6a8508fae9cd1a7f57e68d938c6403e6 (diff) | |
download | rails-75f8ac6ea71e4b2337f870b91ac05df98f33a8d2.tar.gz rails-75f8ac6ea71e4b2337f870b91ac05df98f33a8d2.tar.bz2 rails-75f8ac6ea71e4b2337f870b91ac05df98f33a8d2.zip |
Implemented ActiveRecord::Migrations#copy based on James Adam's idea
ActiveRecord::Migration#copy allows to copy migrations from one place
to another, changing migrations versions and adding scope to filename.
For example:
ActiveRecord::Migration.copy("db/migrate",
:blog_engine => "vendor/gems/blog/db/migrate")
will copy all migrations from vendor/gems/blog/db/migrate to db/migrate
with such format:
Versions of copied migrations will be reversioned to be appended after
migrations that already exists in db/migrate
Diffstat (limited to 'activerecord/test/cases/helper.rb')
-rw-r--r-- | activerecord/test/cases/helper.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/test/cases/helper.rb b/activerecord/test/cases/helper.rb index 1fb59d3589..4bf3c25d28 100644 --- a/activerecord/test/cases/helper.rb +++ b/activerecord/test/cases/helper.rb @@ -83,3 +83,21 @@ begin ensure $stdout = original_stdout end + +class << Time + unless method_defined? :now_before_time_travel + alias_method :now_before_time_travel, :now + end + + def now + (@now ||= nil) || now_before_time_travel + end + + def travel_to(time, &block) + @now = time + block.call + ensure + @now = nil + end +end + |