Commit 223b8e80ba32a305b14b86520a7eae5b4abc85fa

Authored by Dan Croak
1 parent 5306b580

updating blitz

vendor/plugins/blitz/features/step_definitions/view_steps.rb
@@ -45,3 +45,21 @@ Then /^an empty "(.*)" view for "posts" should be generated$/ do |view| @@ -45,3 +45,21 @@ Then /^an empty "(.*)" view for "posts" should be generated$/ do |view|
45 assert_generated_empty_file("app/views/posts/#{view}.html.erb") 45 assert_generated_empty_file("app/views/posts/#{view}.html.erb")
46 end 46 end
47 47
  48 +Then /^a model\-reflected "index" view for "posts" should be generated$/ do
  49 + assert_generated_file("app/views/posts/index.html.erb") do
  50 + "<h1>Posts</h1>\n\n" <<
  51 + "<ul>\n" <<
  52 + " <% @posts.each do |post| -%>\n" <<
  53 + " <li><%= link_to post.to_s, post_path(post) %></li>\n" <<
  54 + " <% end -%>\n" <<
  55 + "</ul>\n"
  56 + end
  57 +end
  58 +
  59 +Then /^a non\-model\-reflected "index" view for "posts" should be generated$/ do
  60 + assert_generated_file("app/views/posts/index.html.erb") do
  61 + "<h1>Posts</h1>"
  62 + end
  63 +end
  64 +
  65 +
vendor/plugins/blitz/features/view_generator.feature
@@ -20,18 +20,19 @@ Feature: Rails view generator @@ -20,18 +20,19 @@ Feature: Rails view generator
20 Given a Rails app 20 Given a Rails app
21 And the blitz plugin is installed 21 And the blitz plugin is installed
22 When I generate a Post model with title, body, and User 22 When I generate a Post model with title, body, and User
23 - When I generate a "new" view for "Posts" with the empty option 23 + And I generate a "new" view for "Posts" with the empty option
24 Then an empty "new" view for "posts" should be generated 24 Then an empty "new" view for "posts" should be generated
25 25
26 - Scenario: View generator for show action 26 + Scenario: View generator for index action
27 Given a Rails app 27 Given a Rails app
28 And the blitz plugin is installed 28 And the blitz plugin is installed
29 - When I generate a "show" view for "Posts" with the empty option  
30 - Then an empty "show" view for "posts" should be generated 29 + When I generate a "index" view for "Posts"
  30 + Then a non-model-reflected "index" view for "posts" should be generated
31 31
32 Scenario: View generator for index action 32 Scenario: View generator for index action
33 Given a Rails app 33 Given a Rails app
34 And the blitz plugin is installed 34 And the blitz plugin is installed
35 - When I generate a "index" view for "Posts" with the empty option  
36 - Then an empty "index" view for "posts" should be generated 35 + When I generate a Post model with title, body, and User
  36 + And I generate a "index" view for "Posts"
  37 + Then a model-reflected "index" view for "posts" should be generated
37 38
vendor/plugins/blitz/generators/view/templates/index.html.erb
1 -<h1><%= resource %></h1>  
2 -  
3 -<%%= link_to 'Edit', edit_<%= resource %>_path(@<%= resource %>) %> 1 +<h1><%= resource_class.pluralize %></h1>
  2 +<% if active_record_defined? -%>
4 3
  4 +<ul>
  5 + <%% @<%= resources %>.each do |<%= resource %>| -%>
  6 + <li><%%= link_to <%= resource %>.to_s, <%= resource %>_path(<%= resource %>) %></li>
  7 + <%% end -%>
  8 +</ul>
  9 +<% end -%>
vendor/plugins/blitz/generators/view/view_generator.rb
@@ -14,12 +14,10 @@ class ViewGenerator &lt; Rails::Generator::NamedBase @@ -14,12 +14,10 @@ class ViewGenerator &lt; Rails::Generator::NamedBase
14 else 14 else
15 m.template 'new.html.erb', path 15 m.template 'new.html.erb', path
16 end 16 end
17 - elsif %w(index show).any? { |action| actions.include?(action) }  
18 - actions.each do |action|  
19 - path = File.join('app/views', class_path, file_name,  
20 - "#{action}.html.erb")  
21 - m.file 'empty.html.erb', path  
22 - end 17 + elsif actions.include?("index")
  18 + path = File.join('app/views', class_path, file_name,
  19 + "index.html.erb")
  20 + m.template "index.html.erb", path
23 end 21 end
24 end 22 end
25 end 23 end