starter_generators 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/starter/resource/USAGE +2 -2
- data/lib/generators/starter/resource/resource_generator.rb +66 -55
- data/lib/generators/starter/resource/templates/dried/_form.html.erb +13 -0
- data/lib/generators/starter/resource/templates/dried/bootstrapped/_form.html.erb +17 -0
- data/lib/generators/starter/resource/templates/dried/bootstrapped/edit.html.erb +5 -0
- data/lib/generators/starter/resource/templates/dried/bootstrapped/index.html.erb +42 -0
- data/lib/generators/starter/resource/templates/dried/bootstrapped/new.html.erb +5 -0
- data/lib/generators/starter/resource/templates/dried/bootstrapped/show.html.erb +11 -0
- data/lib/generators/starter/resource/templates/dried/controller.rb +72 -0
- data/lib/generators/starter/resource/templates/dried/edit.html.erb +3 -0
- data/lib/generators/starter/resource/templates/dried/index.html.erb +40 -0
- data/lib/generators/starter/resource/templates/dried/new.html.erb +3 -0
- data/lib/generators/starter/resource/templates/dried/show.html.erb +9 -0
- data/lib/generators/starter/style/templates/layout.html.erb +1 -2
- data/lib/starter_generators/version.rb +1 -1
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e60cc8ced99c45a0b9b4fb3543c25a12ad91388a
|
4
|
+
data.tar.gz: e58c2767ab4a52934535b3fa8b6e2fdec74d5d91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ac42795f1a8b130ecde47d82e116b180f812e94dab70e924edb04e73d3a8004ec2b607dc40007b500c1d709ab243f288e240a3a83510f8c18b42cfcbf88902e
|
7
|
+
data.tar.gz: 46a7cca8680805099bfde9b8d6fd044c02b711100eb5c04c27271af290dc834c14c48cb62315a0401c3926ee90d590efe1ae3cada0530923df6fa7866557988b
|
@@ -27,8 +27,8 @@ Description:
|
|
27
27
|
in config/routes.rb.
|
28
28
|
|
29
29
|
If you want to remove all the generated files, first rollback your migration
|
30
|
-
if you've already run 'rake db:migrate'. Then run
|
31
|
-
'rails destroy resource ModelName'.
|
30
|
+
with 'rake db:rollback' if you've already run 'rake db:migrate'. Then run
|
31
|
+
'rails destroy starter:resource ModelName'.
|
32
32
|
|
33
33
|
Examples:
|
34
34
|
`rails generate starter:resource post title body:text published:boolean`
|
@@ -13,9 +13,14 @@ module Starter
|
|
13
13
|
remove_class_option :skip_namespace
|
14
14
|
class_option :named_routes, :type => :boolean, :default => true
|
15
15
|
class_option :styled, :type => :boolean, :default => false, desc: 'Generates bootstrap-ready view templates'
|
16
|
+
class_option :dry, :type => :boolean, :default => false, desc: 'DRYs up the controller, views, and routes'
|
16
17
|
|
17
18
|
def generate_controller
|
18
|
-
|
19
|
+
if dry?
|
20
|
+
template 'dried/controller.rb', "app/controllers/#{plural_name.underscore}_controller.rb"
|
21
|
+
else
|
22
|
+
template 'controller.rb', "app/controllers/#{plural_name.underscore}_controller.rb"
|
23
|
+
end
|
19
24
|
end
|
20
25
|
|
21
26
|
def generate_model
|
@@ -39,88 +44,94 @@ module Starter
|
|
39
44
|
|
40
45
|
|
41
46
|
def generate_routes
|
42
|
-
if
|
47
|
+
if dry?
|
48
|
+
route "resources :#{plural_name}", "Named RESTful routes"
|
49
|
+
elsif named_routes?
|
43
50
|
route golden_7_named, "Named RESTful routes"
|
44
51
|
else
|
45
52
|
route golden_7, "RESTful routes"
|
46
53
|
end
|
47
54
|
end
|
48
55
|
|
49
|
-
protected
|
56
|
+
protected
|
57
|
+
|
58
|
+
def golden_7
|
59
|
+
["# Routes for the #{singular_name.capitalize} resource:",
|
60
|
+
" # CREATE",
|
61
|
+
" get '/#{plural_name}/new', controller: '#{plural_name}', action: 'new'",
|
62
|
+
" post '/#{plural_name}', controller: '#{plural_name}', action: 'create'",
|
63
|
+
"",
|
64
|
+
" # READ",
|
65
|
+
" get '/#{plural_name}', controller: '#{plural_name}', action: 'index'",
|
66
|
+
" get '/#{plural_name}/:id', controller: '#{plural_name}', action: 'show'",
|
67
|
+
"",
|
68
|
+
" # UPDATE",
|
69
|
+
" get '/#{plural_name}/:id/edit', controller: '#{plural_name}', action: 'edit'",
|
70
|
+
" patch '/#{plural_name}/:id', controller: '#{plural_name}', action: 'update'",
|
71
|
+
"",
|
72
|
+
" # DELETE",
|
73
|
+
" delete '/#{plural_name}/:id', controller: '#{plural_name}', action: 'destroy'",
|
74
|
+
" ##{'-' * 30}"
|
75
|
+
].join("\n")
|
76
|
+
end
|
50
77
|
|
51
|
-
|
52
|
-
|
78
|
+
def golden_7_named
|
79
|
+
["# Routes for the #{singular_name.capitalize} resource:",
|
53
80
|
" # CREATE",
|
54
|
-
" get '/#{plural_name}/new', controller: '#{plural_name}', action: 'new'",
|
81
|
+
" get '/#{plural_name}/new', controller: '#{plural_name}', action: 'new', as: 'new_#{singular_name}'",
|
55
82
|
" post '/#{plural_name}', controller: '#{plural_name}', action: 'create'",
|
56
83
|
"",
|
57
84
|
" # READ",
|
58
85
|
" get '/#{plural_name}', controller: '#{plural_name}', action: 'index'",
|
59
|
-
" get '/#{plural_name}/:id', controller: '#{plural_name}', action: 'show'",
|
86
|
+
" get '/#{plural_name}/:id', controller: '#{plural_name}', action: 'show', as: '#{singular_name}'",
|
60
87
|
"",
|
61
88
|
" # UPDATE",
|
62
|
-
" get '/#{plural_name}/:id/edit', controller: '#{plural_name}', action: 'edit'",
|
89
|
+
" get '/#{plural_name}/:id/edit', controller: '#{plural_name}', action: 'edit', as: 'edit_#{singular_name}'",
|
63
90
|
" patch '/#{plural_name}/:id', controller: '#{plural_name}', action: 'update'",
|
64
91
|
"",
|
65
92
|
" # DELETE",
|
66
93
|
" delete '/#{plural_name}/:id', controller: '#{plural_name}', action: 'destroy'",
|
67
94
|
" ##{'-' * 30}"
|
68
|
-
|
69
|
-
|
95
|
+
].join("\n")
|
96
|
+
end
|
70
97
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
" get '/#{plural_name}/new', controller: '#{plural_name}', action: 'new', as: 'new_#{singular_name}'",
|
75
|
-
" post '/#{plural_name}', controller: '#{plural_name}', action: 'create'",
|
76
|
-
"",
|
77
|
-
" # READ",
|
78
|
-
" get '/#{plural_name}', controller: '#{plural_name}', action: 'index'",
|
79
|
-
" get '/#{plural_name}/:id', controller: '#{plural_name}', action: 'show', as: '#{singular_name}'",
|
80
|
-
"",
|
81
|
-
" # UPDATE",
|
82
|
-
" get '/#{plural_name}/:id/edit', controller: '#{plural_name}', action: 'edit', as: 'edit_#{singular_name}'",
|
83
|
-
" patch '/#{plural_name}/:id', controller: '#{plural_name}', action: 'update'",
|
84
|
-
"",
|
85
|
-
" # DELETE",
|
86
|
-
" delete '/#{plural_name}/:id', controller: '#{plural_name}', action: 'destroy'",
|
87
|
-
" ##{'-' * 30}"
|
88
|
-
].join("\n")
|
89
|
-
end
|
98
|
+
def dry?
|
99
|
+
options[:dry]
|
100
|
+
end
|
90
101
|
|
91
|
-
|
92
|
-
|
93
|
-
|
102
|
+
def named_routes?
|
103
|
+
options[:named_routes]
|
104
|
+
end
|
94
105
|
|
95
|
-
|
96
|
-
|
97
|
-
|
106
|
+
def styled?
|
107
|
+
options[:styled]
|
108
|
+
end
|
98
109
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
110
|
+
# Override of Rails::Generators::Actions
|
111
|
+
def route(routing_code, title)
|
112
|
+
log :route, title
|
113
|
+
sentinel = /\.routes\.draw do(?:\s*\|map\|)?\s*$/
|
103
114
|
|
104
|
-
|
105
|
-
|
115
|
+
in_root do
|
116
|
+
inject_into_file 'config/routes.rb', "\n #{routing_code}\n", { :after => sentinel, :verbose => false }
|
117
|
+
end
|
106
118
|
end
|
107
|
-
end
|
108
|
-
|
109
|
-
def attributes_with_index
|
110
|
-
attributes.select { |a| a.has_index? || (a.reference? && options[:indexes]) }
|
111
|
-
end
|
112
119
|
|
113
|
-
|
114
|
-
|
115
|
-
|
120
|
+
def attributes_with_index
|
121
|
+
attributes.select { |a| a.has_index? || (a.reference? && options[:indexes]) }
|
122
|
+
end
|
116
123
|
|
117
|
-
|
118
|
-
|
119
|
-
if styled?
|
120
|
-
filename = File.join("bootstrapped", filename)
|
124
|
+
def available_views
|
125
|
+
dry? ? %w(index new edit show _form) : %w(index new edit show)
|
121
126
|
end
|
122
|
-
filename
|
123
|
-
end
|
124
127
|
|
128
|
+
def view_filename_with_extensions(name)
|
129
|
+
filename = [name, :html, :erb].compact.join(".")
|
130
|
+
folders = []
|
131
|
+
folders << 'dried' if dry?
|
132
|
+
folders << 'bootstrapped' if styled?
|
133
|
+
filename = File.join(folders, filename) if folders.any?
|
134
|
+
return filename
|
135
|
+
end
|
125
136
|
end
|
126
137
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%%= form_for @<%= singular_table_name %> do |f| %>
|
2
|
+
|
3
|
+
<% attributes.each do |attribute| -%>
|
4
|
+
<div>
|
5
|
+
<%%= f.label :<%= attribute.name %> %><br>
|
6
|
+
<%%= f.<%= attribute.field_type %> :<%= attribute.name %><%= "?" if attribute.type == :boolean %> %>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<% end -%>
|
10
|
+
<div>
|
11
|
+
<%%= f.submit %>
|
12
|
+
</div>
|
13
|
+
<%% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%%= form_for(@<%= singular_table_name %>, class: 'form-horizontal') do |f| %>
|
2
|
+
|
3
|
+
<% attributes.each do |attribute| -%>
|
4
|
+
<div class="form-group">
|
5
|
+
<%%= f.label :<%= attribute.name %>, class: 'col-md-2 control-label' %>
|
6
|
+
<div class="col-md-6">
|
7
|
+
<%%= f.<%= attribute.field_type %> :<%= attribute.name %><%= "?" if attribute.type == :boolean %>, class: 'form-control' %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<% end -%>
|
12
|
+
<div class="form-group">
|
13
|
+
<div class="col-md-offset-2 col-md-6">
|
14
|
+
<%%= f.submit nil, class: 'btn btn-primary' %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
<%% end %>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<div class="page-header">
|
2
|
+
<h1><%= plural_table_name.humanize %></h1>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<% if named_routes? -%>
|
6
|
+
<p><%%= link_to 'Add a New <%= human_name.titleize %>', new_<%= singular_table_name %>_url, class: 'btn btn-primary' %></p>
|
7
|
+
<% else -%>
|
8
|
+
<p><%%= link_to 'Add a New <%= human_name.titleize %>', "/<%= plural_name %>/new", class: 'btn' %></p>
|
9
|
+
<% end -%>
|
10
|
+
|
11
|
+
<table class="table table-hover">
|
12
|
+
<thead>
|
13
|
+
<tr>
|
14
|
+
<% attributes.each do |attribute| -%>
|
15
|
+
<th><%= attribute.human_name %></th>
|
16
|
+
<% end -%>
|
17
|
+
<th></th>
|
18
|
+
<th></th>
|
19
|
+
<th></th>
|
20
|
+
</tr>
|
21
|
+
</thead>
|
22
|
+
|
23
|
+
<tbody>
|
24
|
+
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
25
|
+
<tr>
|
26
|
+
<% attributes.each do |attribute| -%>
|
27
|
+
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
|
28
|
+
<% end -%>
|
29
|
+
<% if named_routes? %>
|
30
|
+
<td><%%= link_to 'Show', <%= singular_table_name %>_url(<%= singular_table_name %>), class: 'btn' %></td>
|
31
|
+
<td><%%= link_to 'Edit', edit_<%= singular_table_name %>_url(<%= singular_table_name %>), class: 'btn' %></td>
|
32
|
+
<td><%%= link_to 'Destroy', <%= singular_table_name %>_url(<%= singular_table_name %>), method: 'delete', data: { confirm: "Do you really want to delete this <%= singular_table_name %>?" }, class: 'btn btn-danger' %></td>
|
33
|
+
<% else %>
|
34
|
+
<td><%%= link_to 'Show', "/<%= plural_name %>/#{<%= singular_table_name %>.id}", class: 'btn' %></td>
|
35
|
+
<td><%%= link_to 'Edit', "/<%= plural_name %>/#{<%= singular_table_name %>.id}/edit", class: 'btn' %></td>
|
36
|
+
<td><%%= link_to 'Destroy', "/<%= plural_name %>/#{<%= singular_table_name %>.id}", method: 'delete', data: { confirm: "Do you really want to delete this <%= singular_table_name %>?" }, class: 'btn btn-danger' %></td>
|
37
|
+
<% end %>
|
38
|
+
</tr>
|
39
|
+
<%% end %>
|
40
|
+
</body>
|
41
|
+
</table>
|
42
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div class="page-header">
|
2
|
+
<h1><%= human_name.titleize %> #<%%= @<%= singular_table_name %>.id %></h1>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<% attributes.each do |attribute| -%>
|
6
|
+
<p>
|
7
|
+
<b><%= attribute.human_name %>:</b>
|
8
|
+
<%%= @<%= singular_table_name %>.<%= attribute.name %> %>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<% end %>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
class <%= plural_name.camelize %>Controller < ApplicationController
|
2
|
+
|
3
|
+
before_action :set_<%= singular_name.underscore %>, only: [:show, :edit, :update, :destroy]
|
4
|
+
|
5
|
+
def index
|
6
|
+
@<%= plural_name.underscore %> = <%= class_name %>.all
|
7
|
+
end
|
8
|
+
|
9
|
+
def show
|
10
|
+
end
|
11
|
+
|
12
|
+
def new
|
13
|
+
@<%= singular_name.underscore %> = <%= class_name %>.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def create
|
17
|
+
@<%= singular_name.underscore %> = <%= class_name %>.new
|
18
|
+
<% attributes.each do |attribute| -%>
|
19
|
+
@<%= singular_name.underscore %>.<%= attribute.name %> = params[:<%= singular_name.underscore %>][:<%= attribute.name %>]
|
20
|
+
<% end %>
|
21
|
+
<% if named_routes? -%>
|
22
|
+
if @<%= singular_name.underscore %>.save
|
23
|
+
redirect_to <%= plural_name %>_url
|
24
|
+
else
|
25
|
+
render 'new'
|
26
|
+
end
|
27
|
+
<% else -%>
|
28
|
+
if @<%= singular_name.underscore %>.save
|
29
|
+
redirect_to "/<%= plural_name %>"
|
30
|
+
else
|
31
|
+
render 'new'
|
32
|
+
end
|
33
|
+
<% end -%>
|
34
|
+
end
|
35
|
+
|
36
|
+
def edit
|
37
|
+
end
|
38
|
+
|
39
|
+
def update
|
40
|
+
<% attributes.each do |attribute| -%>
|
41
|
+
@<%= singular_name.underscore %>.<%= attribute.name %> = params[:<%= singular_name.underscore %>][:<%= attribute.name %>]
|
42
|
+
<% end %>
|
43
|
+
<% if named_routes? -%>
|
44
|
+
if @<%= singular_name.underscore %>.save
|
45
|
+
redirect_to <%= plural_name %>_url
|
46
|
+
else
|
47
|
+
render 'new'
|
48
|
+
end
|
49
|
+
<% else -%>
|
50
|
+
if @<%= singular_name.underscore %>.save
|
51
|
+
redirect_to "/<%= plural_name %>"
|
52
|
+
else
|
53
|
+
render 'new'
|
54
|
+
end
|
55
|
+
<% end -%>
|
56
|
+
end
|
57
|
+
|
58
|
+
def destroy
|
59
|
+
@<%= singular_name.underscore %>.destroy
|
60
|
+
<% if named_routes? -%>
|
61
|
+
redirect_to <%= plural_name %>_url
|
62
|
+
<% else -%>
|
63
|
+
redirect_to "/<%= plural_name %>"
|
64
|
+
<% end -%>
|
65
|
+
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
def set_<%= singular_name.underscore %>
|
70
|
+
@<%= singular_name.underscore %> = <%= class_name %>.find(params[:id])
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<h1><%= plural_table_name.humanize %></h1>
|
2
|
+
|
3
|
+
<% if named_routes? -%>
|
4
|
+
<p><%%= link_to 'Add a New <%= human_name.titleize %>', new_<%= singular_table_name %>_url %></p>
|
5
|
+
<% else -%>
|
6
|
+
<p><%%= link_to 'Add a New <%= human_name.titleize %>', "/<%= plural_name %>/new" %></p>
|
7
|
+
<% end -%>
|
8
|
+
|
9
|
+
<table>
|
10
|
+
<thead>
|
11
|
+
<tr>
|
12
|
+
<% attributes.each do |attribute| -%>
|
13
|
+
<th><%= attribute.human_name %></th>
|
14
|
+
<% end -%>
|
15
|
+
<th></th>
|
16
|
+
<th></th>
|
17
|
+
<th></th>
|
18
|
+
</tr>
|
19
|
+
</thead>
|
20
|
+
|
21
|
+
<tbody>
|
22
|
+
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
23
|
+
<tr>
|
24
|
+
<% attributes.each do |attribute| -%>
|
25
|
+
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
|
26
|
+
<% end -%>
|
27
|
+
<% if named_routes? %>
|
28
|
+
<td><%%= link_to 'Show', <%= singular_table_name %>_url(<%= singular_table_name %>) %></td>
|
29
|
+
<td><%%= link_to 'Edit', edit_<%= singular_table_name %>_url(<%= singular_table_name %>) %></td>
|
30
|
+
<td><%%= link_to 'Destroy', <%= singular_table_name %>_url(<%= singular_table_name %>), method: 'delete', data: { confirm: "Do you really want to delete this <%= singular_table_name %>?" } %></td>
|
31
|
+
<% else %>
|
32
|
+
<td><%%= link_to 'Show', "/<%= plural_name %>/#{<%= singular_table_name %>.id}" %></td>
|
33
|
+
<td><%%= link_to 'Edit', "/<%= plural_name %>/#{<%= singular_table_name %>.id}/edit" %></td>
|
34
|
+
<td><%%= link_to 'Destroy', "/<%= plural_name %>/#{<%= singular_table_name %>.id}", method: 'delete', data: { confirm: "Do you really want to delete this <%= singular_table_name %>?" } %></td>
|
35
|
+
<% end %>
|
36
|
+
</tr>
|
37
|
+
<%% end %>
|
38
|
+
</tbody>
|
39
|
+
</table>
|
40
|
+
|
@@ -4,13 +4,12 @@
|
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<title><%= application_name %></title>
|
6
6
|
|
7
|
-
<%%= stylesheet_link_tag "application", :media => "all" %>
|
8
|
-
|
9
7
|
<% if bootswatch_theme? -%>
|
10
8
|
<link href="//netdna.bootstrapcdn.com/bootswatch/3.0.0/<%= theme_name %>/bootstrap.min.css" rel="stylesheet">
|
11
9
|
<% end -%>
|
12
10
|
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet">
|
13
11
|
|
12
|
+
<%%= stylesheet_link_tag "application", :media => "all" %>
|
14
13
|
<%%= javascript_include_tag "application" %>
|
15
14
|
<%%= csrf_meta_tags %>
|
16
15
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: starter_generators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Cohen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -59,6 +59,17 @@ files:
|
|
59
59
|
- lib/generators/starter/resource/templates/bootstrapped/new.html.erb
|
60
60
|
- lib/generators/starter/resource/templates/bootstrapped/show.html.erb
|
61
61
|
- lib/generators/starter/resource/templates/controller.rb
|
62
|
+
- lib/generators/starter/resource/templates/dried/_form.html.erb
|
63
|
+
- lib/generators/starter/resource/templates/dried/bootstrapped/_form.html.erb
|
64
|
+
- lib/generators/starter/resource/templates/dried/bootstrapped/edit.html.erb
|
65
|
+
- lib/generators/starter/resource/templates/dried/bootstrapped/index.html.erb
|
66
|
+
- lib/generators/starter/resource/templates/dried/bootstrapped/new.html.erb
|
67
|
+
- lib/generators/starter/resource/templates/dried/bootstrapped/show.html.erb
|
68
|
+
- lib/generators/starter/resource/templates/dried/controller.rb
|
69
|
+
- lib/generators/starter/resource/templates/dried/edit.html.erb
|
70
|
+
- lib/generators/starter/resource/templates/dried/index.html.erb
|
71
|
+
- lib/generators/starter/resource/templates/dried/new.html.erb
|
72
|
+
- lib/generators/starter/resource/templates/dried/show.html.erb
|
62
73
|
- lib/generators/starter/resource/templates/edit.html.erb
|
63
74
|
- lib/generators/starter/resource/templates/index.html.erb
|
64
75
|
- lib/generators/starter/resource/templates/migration.rb
|