Commit 5306b580be70c0f9299420e1df76dc86259d18a5

Authored by Dan Croak
1 parent ff03e98b

new view generators for show and index action

vendor/plugins/blitz/features/step_definitions/view_steps.rb
... ... @@ -41,7 +41,7 @@ Then /^a SemiFormal "new" view for "posts" should be generated with fields$/ do
41 41 end
42 42 end
43 43  
44   -Then /^an empty "new" view for "posts" should be generated$/ do
45   - assert_generated_empty_file("app/views/posts/new.html.erb")
  44 +Then /^an empty "(.*)" view for "posts" should be generated$/ do |view|
  45 + assert_generated_empty_file("app/views/posts/#{view}.html.erb")
46 46 end
47 47  
... ...
vendor/plugins/blitz/features/view_generator.feature
... ... @@ -23,3 +23,15 @@ Feature: Rails view generator
23 23 When I generate a "new" view for "Posts" with the empty option
24 24 Then an empty "new" view for "posts" should be generated
25 25  
  26 + Scenario: View generator for show action
  27 + Given a Rails app
  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
  31 +
  32 + Scenario: View generator for index action
  33 + Given a Rails app
  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
  37 +
... ...
vendor/plugins/blitz/generators/view/templates/index.html.erb 0 → 100644
... ... @@ -0,0 +1,4 @@
  1 +<h1><%= resource %></h1>
  2 +
  3 +<%%= link_to 'Edit', edit_<%= resource %>_path(@<%= resource %>) %>
  4 +
... ...
vendor/plugins/blitz/generators/view/templates/view_show.html.erb
... ... @@ -1,4 +0,0 @@
1   -<h1><%= resource %></h1>
2   -
3   -<%%= link_to 'Edit', edit_<%= resource %>_path(@<%= resource %>) %>
4   -
vendor/plugins/blitz/generators/view/view_generator.rb
... ... @@ -14,6 +14,12 @@ class ViewGenerator &lt; Rails::Generator::NamedBase
14 14 else
15 15 m.template 'new.html.erb', path
16 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 23 end
18 24 end
19 25 end
... ...