model_base_generators 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -0
  3. data/example/.gitignore +1 -0
  4. data/example/.model_base/controllers +5 -0
  5. data/example/.rubocop.yml +31 -0
  6. data/example/Gemfile +1 -1
  7. data/example/Gemfile.lock +14 -1
  8. data/example/app/controllers/concerns/authentication.rb +2 -2
  9. data/example/app/models/ability.rb +1 -2
  10. data/example/app/models/issue.rb +0 -1
  11. data/example/app/models/user.rb +3 -2
  12. data/example/app/views/issue_comments/_issue_comment.json.jbuilder +1 -1
  13. data/example/app/views/issue_comments/_table.html.erb +1 -1
  14. data/example/app/views/issue_comments/index.html.erb +1 -1
  15. data/example/app/views/issue_comments/index.json.jbuilder +1 -1
  16. data/example/app/views/issue_comments/show.json.jbuilder +1 -1
  17. data/example/app/views/issues/_table.html.erb +1 -1
  18. data/example/app/views/issues/index.html.erb +1 -1
  19. data/example/app/views/phases/_table.html.erb +1 -1
  20. data/example/app/views/phases/index.html.erb +1 -1
  21. data/example/app/views/project_assignments/_table.html.erb +1 -1
  22. data/example/app/views/project_assignments/index.html.erb +1 -1
  23. data/example/app/views/projects/_table.html.erb +1 -1
  24. data/example/app/views/projects/index.html.erb +1 -1
  25. data/example/config/application.rb +1 -1
  26. data/example/config/environments/development.rb +1 -1
  27. data/example/config/environments/production.rb +2 -2
  28. data/example/config/environments/test.rb +1 -1
  29. data/example/config/initializers/pretty_validation.rb +1 -1
  30. data/example/config/puma.rb +3 -3
  31. data/example/db/schema.rb +9 -9
  32. data/example/spec/controllers/issue_comments_controller_spec.rb +73 -61
  33. data/example/spec/controllers/issues_controller_spec.rb +71 -59
  34. data/example/spec/controllers/phases_controller_spec.rb +72 -60
  35. data/example/spec/controllers/project_assignments_controller_spec.rb +72 -60
  36. data/example/spec/controllers/projects_controller_spec.rb +70 -58
  37. data/example/spec/factories/issue_comments.rb +1 -1
  38. data/example/spec/factories/issues.rb +1 -1
  39. data/example/spec/factories/phases.rb +3 -3
  40. data/example/spec/factories/project_assignments.rb +2 -2
  41. data/example/spec/factories/projects.rb +1 -1
  42. data/example/spec/factories/users.rb +2 -2
  43. data/example/spec/rails_helper.rb +1 -1
  44. data/example/spec/requests/issue_comments_spec.rb +4 -4
  45. data/example/spec/routing/issue_comments_routing_spec.rb +18 -20
  46. data/example/spec/routing/issues_routing_spec.rb +18 -20
  47. data/example/spec/routing/phases_routing_spec.rb +18 -20
  48. data/example/spec/routing/project_assignments_routing_spec.rb +18 -20
  49. data/example/spec/routing/projects_routing_spec.rb +18 -20
  50. data/example/spec/spec_helper.rb +47 -49
  51. data/example/spec/support/controller_macros.rb +3 -3
  52. data/example/spec/support/devise.rb +2 -2
  53. data/example/spec/support/time_match_support.rb +9 -0
  54. data/example/spec/views/issue_comments/edit.html.erb_spec.rb +12 -11
  55. data/example/spec/views/issue_comments/index.html.erb_spec.rb +12 -12
  56. data/example/spec/views/issue_comments/new.html.erb_spec.rb +12 -11
  57. data/example/spec/views/issue_comments/show.html.erb_spec.rb +7 -6
  58. data/example/spec/views/issues/edit.html.erb_spec.rb +12 -11
  59. data/example/spec/views/issues/index.html.erb_spec.rb +13 -13
  60. data/example/spec/views/issues/new.html.erb_spec.rb +12 -11
  61. data/example/spec/views/issues/show.html.erb_spec.rb +6 -5
  62. data/example/spec/views/phases/edit.html.erb_spec.rb +9 -8
  63. data/example/spec/views/phases/index.html.erb_spec.rb +12 -12
  64. data/example/spec/views/phases/new.html.erb_spec.rb +9 -8
  65. data/example/spec/views/phases/show.html.erb_spec.rb +8 -7
  66. data/example/spec/views/project_assignments/edit.html.erb_spec.rb +10 -9
  67. data/example/spec/views/project_assignments/index.html.erb_spec.rb +11 -11
  68. data/example/spec/views/project_assignments/new.html.erb_spec.rb +10 -9
  69. data/example/spec/views/project_assignments/show.html.erb_spec.rb +8 -7
  70. data/example/spec/views/projects/edit.html.erb_spec.rb +9 -8
  71. data/example/spec/views/projects/index.html.erb_spec.rb +10 -10
  72. data/example/spec/views/projects/new.html.erb_spec.rb +9 -8
  73. data/example/spec/views/projects/show.html.erb_spec.rb +5 -4
  74. data/exe/model_base +33 -0
  75. data/lib/generators/model_base/install_generator.rb +1 -0
  76. data/lib/generators/model_base/templates/app/controllers/concerns/authentication.rb +2 -2
  77. data/lib/generators/model_base/templates/spec/support/time_match_support.rb +9 -0
  78. data/lib/model_base/column_attribute.rb +2 -2
  79. data/lib/model_base/config.rb +6 -0
  80. data/lib/model_base/generators/model_support.rb +8 -0
  81. data/lib/model_base/generators/rails/scaffold_controller.rb +25 -0
  82. data/lib/model_base/generators.rb +33 -0
  83. data/lib/model_base/meta_model.rb +2 -2
  84. data/lib/model_base/railtie.rb +1 -1
  85. data/lib/model_base/version.rb +1 -1
  86. data/lib/model_base.rb +24 -13
  87. data/lib/templates/erb/scaffold/_table.html.erb +1 -1
  88. data/lib/templates/erb/scaffold/index.html.erb +1 -1
  89. data/lib/templates/factory_girl/factory.rb +1 -1
  90. data/lib/templates/rspec/scaffold/controller_spec.rb +71 -59
  91. data/lib/templates/rspec/scaffold/edit_spec.rb +5 -4
  92. data/lib/templates/rspec/scaffold/index_spec.rb +8 -8
  93. data/lib/templates/rspec/scaffold/new_spec.rb +5 -4
  94. data/lib/templates/rspec/scaffold/routing_spec.rb +18 -20
  95. data/lib/templates/rspec/scaffold/show_spec.rb +4 -3
  96. metadata +11 -3
@@ -25,36 +25,34 @@ require 'rails_helper'
25
25
 
26
26
  <% module_namespacing do -%>
27
27
  RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:controller) %> do
28
-
29
28
  <%-
30
29
  required_ref_attrs = model.columns_for(:params).select{|attr| attr.reference && attr.required? }
31
30
  required_data_attrs = model.columns_for(:params).select{|attr| !attr.reference && attr.required? }
32
31
  -%>
33
32
  <%= model.factory_girl_let_definitions %>
34
- before{ devise_user_login(user) }
35
-
36
33
  <%-
37
34
  unless required_ref_attrs.empty?
38
35
  extra_attributes_to_merge = ".merge(%s)" % required_ref_attrs.map{|attr| "#{attr.name}: #{attr.ref_model.full_resource_name}.id"}.join(', ')
39
36
  extra_attributes_for_factory = ", %s" % required_ref_attrs.map{|attr| "#{attr.reference.name}: #{attr.ref_model.full_resource_name}"}.join(', ')
40
37
  end
41
38
  -%>
42
- let(:<%= file_name %>){ FactoryGirl.create(:<%= file_name %><%= extra_attributes_for_factory %>) }
39
+ let(:<%= file_name %>) { FactoryGirl.create(:<%= file_name %><%= extra_attributes_for_factory %>) }
40
+ before { devise_user_login(user) }
43
41
 
44
42
  # This should return the minimal set of attributes required to create a valid
45
43
  # <%= class_name %>. As you add validations to <%= class_name %>, be sure to
46
44
  # adjust the attributes here as well.
47
- let(:valid_parameters) {
45
+ let(:valid_parameters) do
48
46
  FactoryGirl.attributes_for(:<%= file_name %>)<%= extra_attributes_to_merge %>
49
- }
47
+ end
50
48
 
51
- let(:invalid_parameters) {
49
+ let(:invalid_parameters) do
52
50
  <%- if !required_data_attrs.empty? -%>
53
51
  valid_parameters.symbolize_keys.merge(<%= required_data_attrs.first.name %>: '')
54
52
  <%- else -%>
55
- skip("Add a hash of attributes invalid for your model")
53
+ skip('Add a hash of attributes invalid for your model')
56
54
  <%- end -%>
57
- }
55
+ end
58
56
 
59
57
  # This should return the minimal set of values that should be in the session
60
58
  # in order to pass any filters (e.g. authentication) defined in
@@ -62,141 +60,155 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
62
60
  let(:valid_session) { {} }
63
61
 
64
62
  <% unless options[:singleton] -%>
65
- describe "GET #index" do
66
- it "assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>" do
67
- get :index, params: {}, session: valid_session
63
+ describe 'GET #index' do
64
+ it 'assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>' do
65
+ get :index, session: valid_session,
66
+ params: {}
68
67
  expect(assigns(:<%= table_name %>)).to eq([<%= file_name %>])
69
68
  end
70
69
  end
71
70
 
72
71
  <% end -%>
73
- describe "GET #show" do
74
- it "assigns the requested <%= file_name %> as @<%= file_name %>" do
72
+ describe 'GET #show' do
73
+ it 'assigns the requested <%= file_name %> as @<%= file_name %>' do
75
74
  <%= file_name %> # To create <%= file_name %>
76
- get :show, params: {:id => <%= file_name %>.to_param}, session: valid_session
75
+ get :show, session: valid_session,
76
+ params: { id: <%= file_name %>.to_param }
77
77
  expect(assigns(:<%= file_name %>)).to eq(<%= file_name %>)
78
78
  end
79
79
  end
80
80
 
81
- describe "GET #new" do
82
- it "assigns a new <%= file_name %> as @<%= file_name %>" do
83
- get :new, params: {}, session: valid_session
81
+ describe 'GET #new' do
82
+ it 'assigns a new <%= file_name %> as @<%= file_name %>' do
83
+ get :new, session: valid_session,
84
+ params: {}
84
85
  expect(assigns(:<%= file_name %>)).to be_a_new(<%= class_name %>)
85
86
  end
86
87
  end
87
88
 
88
- describe "GET #edit" do
89
- it "assigns the requested <%= file_name %> as @<%= file_name %>" do
89
+ describe 'GET #edit' do
90
+ it 'assigns the requested <%= file_name %> as @<%= file_name %>' do
90
91
  <%= file_name %> # To create <%= file_name %>
91
- get :edit, params: {:id => <%= file_name %>.to_param}, session: valid_session
92
+ get :edit, session: valid_session,
93
+ params: { id: <%= file_name %>.to_param }
92
94
  expect(assigns(:<%= file_name %>)).to eq(<%= file_name %>)
93
95
  end
94
96
  end
95
97
 
96
- describe "POST #create" do
97
- context "with valid params" do
98
- it "creates a new <%= class_name %>" do
98
+ describe 'POST #create' do
99
+ context 'with valid params' do
100
+ it 'creates a new <%= class_name %>' do
99
101
  expect {
100
- post :create, params: {:<%= file_name %> => valid_parameters}, session: valid_session
102
+ post :create, session: valid_session,
103
+ params: { <%= file_name %>: valid_parameters }
101
104
  }.to change(<%= class_name %>, :count).by(1)
102
105
  end
103
106
 
104
- it "assigns a newly created <%= file_name %> as @<%= file_name %>" do
105
- post :create, params: {:<%= file_name %> => valid_parameters}, session: valid_session
107
+ it 'assigns a newly created <%= file_name %> as @<%= file_name %>' do
108
+ post :create, session: valid_session,
109
+ params: { <%= file_name %>: valid_parameters }
106
110
  expect(assigns(:<%= file_name %>)).to be_a(<%= class_name %>)
107
111
  expect(assigns(:<%= file_name %>)).to be_persisted
108
112
  end
109
113
 
110
- it "redirects to the created <%= file_name %>" do
111
- post :create, params: {:<%= file_name %> => valid_parameters}, session: valid_session
114
+ it 'redirects to the created <%= file_name %>' do
115
+ post :create, session: valid_session,
116
+ params: { <%= file_name %>: valid_parameters }
112
117
  expect(response).to redirect_to(<%= class_name %>.last)
113
118
  end
114
119
  end
115
120
 
116
- context "with invalid params" do
117
- it "assigns a newly created but unsaved <%= file_name %> as @<%= file_name %>" do
118
- post :create, params: {:<%= file_name %> => invalid_parameters}, session: valid_session
121
+ context 'with invalid params' do
122
+ it 'assigns a newly created but unsaved <%= file_name %> as @<%= file_name %>' do
123
+ post :create, session: valid_session,
124
+ params: { <%= file_name %>: invalid_parameters }
119
125
  expect(assigns(:<%= file_name %>)).to be_a_new(<%= class_name %>)
120
126
  end
121
127
 
122
128
  it "re-renders the 'new' template" do
123
- post :create, params: {:<%= file_name %> => invalid_parameters}, session: valid_session
124
- expect(response).to render_template("new")
129
+ post :create, session: valid_session,
130
+ params: { <%= file_name %>: invalid_parameters }
131
+ expect(response).to render_template('new')
125
132
  end
126
133
  end
127
134
  end
128
135
 
129
- describe "PUT #update" do
130
- context "with valid params" do
136
+ describe 'PUT #update' do
137
+ context 'with valid params' do
131
138
  <%- if !required_data_attrs.empty? -%>
132
139
  <%- required_data_attrs.each do |required_data_attr| -%>
133
- let(:new_<%= required_data_attr.name %>){ <%= required_data_attr.new_attribute_exp %> }
140
+ let(:new_<%= required_data_attr.name %>) { <%= required_data_attr.new_attribute_exp %> }
134
141
  <%- end -%>
135
142
  <%- end -%>
136
-
137
- let(:new_parameters) {
143
+ let(:new_parameters) do
138
144
  <%- if !required_data_attrs.empty? -%>
139
145
  valid_parameters.merge(<%= required_data_attrs.map{|attr| "#{attr.name}: new_#{attr.name}"}.join(', ') %>)
140
146
  <%- else required_data_attrs.empty? -%>
141
- skip("Add a hash of attributes valid for your model")
147
+ skip('Add a hash of attributes valid for your model')
142
148
  <%- end -%>
143
- }
149
+ end
144
150
 
145
- it "updates the requested <%= file_name %>" do
151
+ it 'updates the requested <%= file_name %>' do
146
152
  <%= file_name %> # To create <%= file_name %>
147
- put :update, params: {:id => <%= file_name %>.to_param, :<%= file_name %> => new_parameters}, session: valid_session
153
+ put :update, session: valid_session,
154
+ params: { id: <%= file_name %>.to_param, <%= file_name %>: new_parameters }
148
155
  <%= file_name %>.reload
149
156
  <%- if !required_data_attrs.empty? -%>
150
157
  <%- required_data_attrs.each do |attr| -%>
151
158
  expect(<%= file_name %>.<%= attr.name %>).to eq new_<%= attr.name %>
152
159
  <%- end -%>
153
160
  <%- else -%>
154
- skip("Add assertions for updated state")
161
+ skip('Add assertions for updated state')
155
162
  <%- end -%>
156
163
  end
157
164
 
158
- it "assigns the requested <%= file_name %> as @<%= file_name %>" do
165
+ it 'assigns the requested <%= file_name %> as @<%= file_name %>' do
159
166
  <%= file_name %> # To create <%= file_name %>
160
- put :update, params: {:id => <%= file_name %>.to_param, :<%= file_name %> => new_parameters}, session: valid_session
167
+ put :update, session: valid_session,
168
+ params: { id: <%= file_name %>.to_param, <%= file_name %>: new_parameters }
161
169
  expect(assigns(:<%= file_name %>)).to eq(<%= file_name %>)
162
170
  end
163
171
 
164
- it "redirects to the <%= file_name %>" do
172
+ it 'redirects to the <%= file_name %>' do
165
173
  <%= file_name %> # To create <%= file_name %>
166
- put :update, params: {:id => <%= file_name %>.to_param, :<%= file_name %> => new_parameters}, session: valid_session
174
+ put :update, session: valid_session,
175
+ params: { id: <%= file_name %>.to_param, <%= file_name %>: new_parameters }
167
176
  expect(response).to redirect_to(<%= file_name %>)
168
177
  end
169
178
  end
170
179
 
171
- context "with invalid params" do
172
- it "assigns the <%= file_name %> as @<%= file_name %>" do
180
+ context 'with invalid params' do
181
+ it 'assigns the <%= file_name %> as @<%= file_name %>' do
173
182
  <%= file_name %> # To create <%= file_name %>
174
- put :update, params: {:id => <%= file_name %>.to_param, :<%= file_name %> => invalid_parameters}, session: valid_session
183
+ put :update, session: valid_session,
184
+ params: { id: <%= file_name %>.to_param, <%= file_name %>: invalid_parameters }
175
185
  expect(assigns(:<%= file_name %>)).to eq(<%= file_name %>)
176
186
  end
177
187
 
178
188
  it "re-renders the 'edit' template" do
179
189
  <%= file_name %> # To create <%= file_name %>
180
- put :update, params: {:id => <%= file_name %>.to_param, :<%= file_name %> => invalid_parameters}, session: valid_session
181
- expect(response).to render_template("edit")
190
+ put :update, session: valid_session,
191
+ params: { id: <%= file_name %>.to_param, <%= file_name %>: invalid_parameters }
192
+ expect(response).to render_template('edit')
182
193
  end
183
194
  end
184
195
  end
185
196
 
186
- describe "DELETE #destroy" do
187
- it "destroys the requested <%= file_name %>" do
197
+ describe 'DELETE #destroy' do
198
+ it 'destroys the requested <%= file_name %>' do
188
199
  <%= file_name %> # To create <%= file_name %>
189
200
  expect {
190
- delete :destroy, params: {:id => <%= file_name %>.to_param}, session: valid_session
201
+ delete :destroy, session: valid_session,
202
+ params: { id: <%= file_name %>.to_param }
191
203
  }.to change(<%= class_name %>, :count).by(-1)
192
204
  end
193
205
 
194
- it "redirects to the <%= table_name %> list" do
206
+ it 'redirects to the <%= table_name %> list' do
195
207
  <%= file_name %> # To create <%= file_name %>
196
- delete :destroy, params: {:id => <%= file_name %>.to_param}, session: valid_session
208
+ delete :destroy, session: valid_session,
209
+ params: { id: <%= file_name %>.to_param }
197
210
  expect(response).to redirect_to(<%= index_helper %>_url)
198
211
  end
199
212
  end
200
-
201
213
  end
202
214
  <% end -%>
@@ -1,15 +1,16 @@
1
1
  require 'rails_helper'
2
2
 
3
- RSpec.describe "<%= ns_table_name %>/edit", <%= type_metatag(:view) %> do
3
+ RSpec.describe '<%= ns_table_name %>/edit', <%= type_metatag(:view) %> do
4
4
  <%= model.factory_girl_let_definitions %>
5
+ <%= model.factory_girl_let_definition %>
5
6
  before(:each) do
6
- @<%= ns_file_name %> = assign(:<%= ns_file_name %>, <%= model.factory_girl_to :create %>)
7
+ assign(:<%= model.full_resource_name %>, <%= model.full_resource_name %>)
7
8
  end
8
9
 
9
- it "renders the edit <%= ns_file_name %> form" do
10
+ it 'renders the edit <%= model.full_resource_name %> form' do
10
11
  render
11
12
 
12
- assert_select "form[action=?][method=?]", <%= ns_file_name %>_path(@<%= ns_file_name %>), "post" do
13
+ assert_select 'form[action=?][method=?]', <%= model.full_resource_name %>_path(<%= model.full_resource_name %>), 'post' do
13
14
  <% model.columns_for(:form).each do |attribute| -%>
14
15
  <%= attribute.assert_select_exp %>
15
16
  <% end -%>
@@ -1,28 +1,28 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  <% output_attributes = model.columns.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
4
- RSpec.describe "<%= ns_table_name %>/index", <%= type_metatag(:view) %> do
4
+ RSpec.describe '<%= ns_table_name %>/index', <%= type_metatag(:view) %> do
5
5
  <%= model.factory_girl_let_definitions %>
6
6
  before(:each) do
7
7
  assign(:<%= table_name %>, [
8
8
  <% [1,2].each_with_index do |id, model_index| -%>
9
9
  <%- if tc = model.title_column -%>
10
- <%= model.factory_girl_to(:create, extra: {tc.name.to_sym => tc.sample_value(model_index + 1)}) %>,
10
+ <%= model.factory_girl_to(:create, extra: {tc.name.to_sym => tc.sample_value(model_index + 1)}) %>,
11
11
  <%- else -%>
12
- <%= model.factory_girl_to(:create, context: :spec_index, index: id, ) %>,
12
+ <%= model.factory_girl_to(:create, context: :spec_index, index: id, ) %>,
13
13
  <%- end -%>
14
14
  <% end -%>
15
- ])
15
+ ])
16
16
  end
17
17
 
18
- it "renders a list of <%= ns_table_name %>" do
18
+ it 'renders a list of <%= ns_table_name %>' do
19
19
  render
20
20
  <% model.columns_for(:spec_index).each do |attribute| -%>
21
21
  <%- if attribute.single_sample_only? -%>
22
- assert_select "tr>td", :text => <%= attribute.sample_string_exp %>, :count => 2
22
+ assert_select 'tr>td', text: <%= attribute.sample_string_exp %>, count: 2
23
23
  <%- else -%>
24
- assert_select "tr>td", :text => <%= attribute.sample_string_exp(1) %>, :count => 1
25
- assert_select "tr>td", :text => <%= attribute.sample_string_exp(2) %>, :count => 1
24
+ assert_select 'tr>td', text: <%= attribute.sample_string_exp(1) %>, count: 1
25
+ assert_select 'tr>td', text: <%= attribute.sample_string_exp(2) %>, count: 1
26
26
  <%- end -%>
27
27
  <% end -%>
28
28
  end
@@ -1,16 +1,17 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  <% output_attributes = model.columns.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
4
- RSpec.describe "<%= ns_table_name %>/new", <%= type_metatag(:view) %> do
4
+ RSpec.describe '<%= ns_table_name %>/new', <%= type_metatag(:view) %> do
5
5
  <%= model.factory_girl_let_definitions %>
6
+ <%= model.factory_girl_let_definition(action: :build) %>
6
7
  before(:each) do
7
- assign(:<%= ns_file_name %>, <%= model.factory_girl_to :build %>)
8
+ assign(:<%= model.full_resource_name %>, <%= model.full_resource_name %>)
8
9
  end
9
10
 
10
- it "renders new <%= ns_file_name %> form" do
11
+ it 'renders new <%= ns_file_name %> form' do
11
12
  render
12
13
 
13
- assert_select "form[action=?][method=?]", <%= index_helper %>_path, "post" do
14
+ assert_select 'form[action=?][method=?]', <%= index_helper %>_path, 'post' do
14
15
  <% model.columns_for(:form).each do |attribute| -%>
15
16
  <%= attribute.assert_select_exp %>
16
17
  <% end -%>
@@ -1,45 +1,43 @@
1
- require "rails_helper"
1
+ require 'rails_helper'
2
2
 
3
3
  <% module_namespacing do -%>
4
4
  RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:routing) %> do
5
- describe "routing" do
6
-
5
+ describe 'routing' do
7
6
  <% unless options[:singleton] -%>
8
- it "routes to #index" do
9
- expect(:get => "/<%= ns_table_name %>").to route_to("<%= ns_table_name %>#index")
7
+ it 'routes to #index' do
8
+ expect(get: '/<%= ns_table_name %>').to route_to('<%= ns_table_name %>#index')
10
9
  end
11
10
 
12
11
  <% end -%>
13
- it "routes to #new" do
14
- expect(:get => "/<%= ns_table_name %>/new").to route_to("<%= ns_table_name %>#new")
12
+ it 'routes to #new' do
13
+ expect(get: '/<%= ns_table_name %>/new').to route_to('<%= ns_table_name %>#new')
15
14
  end
16
15
 
17
- it "routes to #show" do
18
- expect(:get => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#show", :id => "1")
16
+ it 'routes to #show' do
17
+ expect(get: '/<%= ns_table_name %>/1').to route_to('<%= ns_table_name %>#show', id: '1')
19
18
  end
20
19
 
21
- it "routes to #edit" do
22
- expect(:get => "/<%= ns_table_name %>/1/edit").to route_to("<%= ns_table_name %>#edit", :id => "1")
20
+ it 'routes to #edit' do
21
+ expect(get: '/<%= ns_table_name %>/1/edit').to route_to('<%= ns_table_name %>#edit', id: '1')
23
22
  end
24
23
 
25
- it "routes to #create" do
26
- expect(:post => "/<%= ns_table_name %>").to route_to("<%= ns_table_name %>#create")
24
+ it 'routes to #create' do
25
+ expect(post: '/<%= ns_table_name %>').to route_to('<%= ns_table_name %>#create')
27
26
  end
28
27
 
29
- it "routes to #update via PUT" do
30
- expect(:put => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#update", :id => "1")
28
+ it 'routes to #update via PUT' do
29
+ expect(put: '/<%= ns_table_name %>/1').to route_to('<%= ns_table_name %>#update', id: '1')
31
30
  end
32
31
 
33
32
  <% if Rails::VERSION::STRING > '4' -%>
34
- it "routes to #update via PATCH" do
35
- expect(:patch => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#update", :id => "1")
33
+ it 'routes to #update via PATCH' do
34
+ expect(patch: '/<%= ns_table_name %>/1').to route_to('<%= ns_table_name %>#update', id: '1')
36
35
  end
37
36
 
38
37
  <% end -%>
39
- it "routes to #destroy" do
40
- expect(:delete => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#destroy", :id => "1")
38
+ it 'routes to #destroy' do
39
+ expect(delete: '/<%= ns_table_name %>/1').to route_to('<%= ns_table_name %>#destroy', id: '1')
41
40
  end
42
-
43
41
  end
44
42
  end
45
43
  <% end -%>
@@ -1,12 +1,13 @@
1
1
  require 'rails_helper'
2
2
 
3
- RSpec.describe "<%= ns_table_name %>/show", <%= type_metatag(:view) %> do
3
+ RSpec.describe '<%= ns_table_name %>/show', <%= type_metatag(:view) %> do
4
4
  <%= model.factory_girl_let_definitions %>
5
+ <%= model.factory_girl_let_definition %>
5
6
  before(:each) do
6
- @<%= ns_file_name %> = assign(:<%= ns_file_name %>, <%= model.factory_girl_to :create %>)
7
+ assign(:<%= model.full_resource_name %>, <%= model.full_resource_name %>)
7
8
  end
8
9
 
9
- it "renders attributes in <p>" do
10
+ it 'renders attributes in <p>' do
10
11
  render
11
12
  <% model.columns_for(:spec_show).each do |attribute| -%>
12
13
  expect(rendered).to match(<%= attribute.sample_value_regexp_exp %>)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: model_base_generators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - akm
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-28 00:00:00.000000000 Z
11
+ date: 2016-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -111,7 +111,8 @@ dependencies:
111
111
  description: Provide generators for models with assocations.
112
112
  email:
113
113
  - akm2000@gmail.com
114
- executables: []
114
+ executables:
115
+ - model_base
115
116
  extensions: []
116
117
  extra_rdoc_files: []
117
118
  files:
@@ -126,7 +127,9 @@ files:
126
127
  - bin/console
127
128
  - bin/setup
128
129
  - example/.gitignore
130
+ - example/.model_base/controllers
129
131
  - example/.rspec
132
+ - example/.rubocop.yml
130
133
  - example/Gemfile
131
134
  - example/Gemfile.lock
132
135
  - example/Rakefile
@@ -270,6 +273,7 @@ files:
270
273
  - example/spec/support/controller_macros.rb
271
274
  - example/spec/support/devise.rb
272
275
  - example/spec/support/field_assertions.rb
276
+ - example/spec/support/time_match_support.rb
273
277
  - example/spec/views/issue_comments/edit.html.erb_spec.rb
274
278
  - example/spec/views/issue_comments/index.html.erb_spec.rb
275
279
  - example/spec/views/issue_comments/new.html.erb_spec.rb
@@ -291,18 +295,22 @@ files:
291
295
  - example/spec/views/projects/new.html.erb_spec.rb
292
296
  - example/spec/views/projects/show.html.erb_spec.rb
293
297
  - example/tmp/.keep
298
+ - exe/model_base
294
299
  - lib/generators/model_base/install_generator.rb
295
300
  - lib/generators/model_base/templates/app/controllers/concerns/authentication.rb
296
301
  - lib/generators/model_base/templates/spec/factories/users.rb
297
302
  - lib/generators/model_base/templates/spec/support/controller_macros.rb
298
303
  - lib/generators/model_base/templates/spec/support/devise.rb
299
304
  - lib/generators/model_base/templates/spec/support/field_assertions.rb
305
+ - lib/generators/model_base/templates/spec/support/time_match_support.rb
300
306
  - lib/model_base.rb
301
307
  - lib/model_base/column_attribute.rb
302
308
  - lib/model_base/config.rb
309
+ - lib/model_base/generators.rb
303
310
  - lib/model_base/generators/erb/scaffold.rb
304
311
  - lib/model_base/generators/factory_girl/model.rb
305
312
  - lib/model_base/generators/model_support.rb
313
+ - lib/model_base/generators/rails/scaffold_controller.rb
306
314
  - lib/model_base/meta_model.rb
307
315
  - lib/model_base/railtie.rb
308
316
  - lib/model_base/version.rb