public
Description: resources_controller rails plugin: rc makes RESTful controllers fun
Homepage: http://plugins.ardes.com/doc/resources_controller
Clone URL: git://github.com/ianwhite/resources_controller.git
Click here to lend your support to: resources_controller and make a donation at www.pledgie.com !
Improved spec:generate output
ianwhite (author)
Sun Sep 07 04:37:44 -0700 2008
commit  c7816162701d0ff5f6f2c431dfab56fea08a83b5
tree    68a68a633dfeef612df0305ebe2363eefacc561e
parent  31edab312747ba50c086f0fcad96ddf21cc7005d
...
7
8
9
10
 
11
 
12
13
14
 
15
16
17
...
25
26
27
 
 
 
 
 
 
 
 
 
 
28
29
 
 
30
31
32
33
34
35
 
 
36
37
38
39
40
41
 
 
 
 
42
43
44
45
 
46
47
48
...
7
8
9
 
10
11
12
13
14
 
15
16
17
18
...
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
40
41
42
43
44
45
 
 
46
47
48
49
50
 
 
 
51
52
53
54
55
56
57
 
58
59
60
61
0
@@ -7,11 +7,12 @@ namespace :spec do
0
     cd RAILS_ROOT do
0
       begin
0
         generate_resource :author
0
-        sh "rake db:migrate"
0
+        migrate_up
0
         make_resources_controller :author
0
+        puts "** Running generated controller specs"
0
         sh "rake spec:controllers"
0
       ensure
0
-        sh "rake db:migrate VERSION=0"
0
+        migrate_down
0
         cleanup_resource :author
0
       end
0
     end
0
@@ -25,24 +26,36 @@ namespace :spec do
0
     end
0
   end
0
   
0
+  def migrate_up
0
+    puts "** Migrating up"
0
+    `rake db:migrate`
0
+  end
0
+  
0
+  def migrate_down
0
+    puts "** Migrating down"
0
+    `rake db:migrate VERSION=0`
0
+  end
0
+  
0
   def generate_resource(name)
0
-    sh "script/generate rspec_scaffold #{name.to_s.classify}"
0
+    puts "** Generating rspec_scaffold for resource: #{name}"
0
+    `script/generate rspec_scaffold #{name.to_s.classify}`
0
   end
0
   
0
   def make_resources_controller(name)
0
     plural = name.to_s.pluralize
0
-    File.open("app/controllers/#{plural}_controller.rb", "w+") do |f|
0
-      f << <<-end_eval
0
+    
0
+    controller = <<-end_eval
0
 class #{plural.classify.pluralize}Controller < ApplicationController
0
   resources_controller_for :#{plural}
0
 end
0
-      end_eval
0
-    end
0
-    puts File.read("app/controllers/#{plural}_controller.rb")
0
+    end_eval
0
+    
0
+    puts "** Replacing app/controllers/#{plural}_controller.rb with:\n\n#{controller}\n"
0
+    File.open("app/controllers/#{plural}_controller.rb", "w+") {|f| f << controller }
0
   end
0
   
0
   def cleanup_resource(name)
0
-    puts "Cleaning up files for resource: #{name}"
0
+    puts "** Cleaning up generated files for resource: #{name}"
0
     plural = name.to_s.pluralize
0
 
0
     # remove app files

Comments