migration_tools 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -31,10 +31,23 @@ The names of the possible groups are predefined to avoid turning this solution i
31
31
 
32
32
  == Commands
33
33
 
34
+ The list commands
35
+
34
36
  $ rake db:migrate:list - shows pending migrations by group
35
- $ GROUP=before rake db:migrate:group - runs the migrations in the "before" group
37
+ $ rake db:migrate:list:before - shows pending migrations for the before group
38
+ $ rake db:migrate:list:during - shows pending migrations for the during group
39
+ $ rake db:migrate:list:after - shows pending migrations for the after group
40
+ $ rake db:migrate:list:change - shows pending migrations for the change group
41
+
42
+ The group commands
43
+
44
+ $ GROUP=before rake db:migrate:group - runs the migrations in the specified group
45
+ $ rake db:migrate:group:before - runs pending migrations for the before group
46
+ $ rake db:migrate:group:during - runs pending migrations for the during group
47
+ $ rake db:migrate:group:after - runs pending migrations for the after group
48
+ $ rake db:migrate:group:change - runs pending migrations for the change group
36
49
 
37
- Note that rake db:migrate is entirely unaffected by this
50
+ Note that rake db:migrate is entirely unaffected by this.
38
51
 
39
52
  == Contributing to migration_tools
40
53
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -6,6 +6,7 @@ module MigrationTools
6
6
  def initialize
7
7
  define_migrate_list
8
8
  define_migrate_group
9
+ define_convenience_tasks
9
10
  end
10
11
 
11
12
  def group
@@ -61,6 +62,23 @@ module MigrationTools
61
62
  end
62
63
  end
63
64
 
65
+ def define_convenience_tasks
66
+ namespace :db do
67
+ namespace :migrate do
68
+ [ :list, :group ].each do |ns|
69
+ namespace ns do
70
+ [ :before, :during, :after, :change ].each do |migration_group|
71
+ task migration_group do
72
+ ENV['GROUP'] = migration_group.to_s
73
+ Rake::Task["db:migrate:#{ns}"].invoke
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+
64
82
  def notify(string, group = "")
65
83
  if group.empty?
66
84
  puts string
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{migration_tools}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Morten Primdahl"]
@@ -65,6 +65,10 @@ class TestMigrationTools < Test::Unit::TestCase
65
65
  def test_task_presence
66
66
  assert Rake::Task["db:migrate:list"]
67
67
  assert Rake::Task["db:migrate:group"]
68
+ assert Rake::Task["db:migrate:group:before"]
69
+ assert Rake::Task["db:migrate:group:during"]
70
+ assert Rake::Task["db:migrate:group:after"]
71
+ assert Rake::Task["db:migrate:group:change"]
68
72
  end
69
73
 
70
74
  def test_migrate_list_without_pending_without_group
@@ -131,4 +135,12 @@ class TestMigrationTools < Test::Unit::TestCase
131
135
  end
132
136
  end
133
137
 
138
+ def test_convenience_list_method
139
+ ActiveRecord::Migrator.expects(:new).returns(stub(:pending_migrations => proxies))
140
+ MigrationTools::Tasks.any_instance.expects(:notify).with("You have 2 pending migrations", "before").once
141
+ MigrationTools::Tasks.any_instance.expects(:notify).with(" 0 before Alpha").once
142
+ MigrationTools::Tasks.any_instance.expects(:notify).with(" 1 before Beta").once
143
+
144
+ Rake::Task["db:migrate:list:before"].invoke
145
+ end
134
146
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: migration_tools
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Morten Primdahl