rails_app_generator 0.2.21 → 0.2.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/generators/project-plan.rb +16 -2
  3. data/CHANGELOG.md +24 -0
  4. data/after_templates/addons/avo/_.rb +54 -0
  5. data/after_templates/addons/avo/app/controllers/home_controller.rb +4 -0
  6. data/after_templates/addons/avo/app/views/home/index.html.erb +3 -0
  7. data/after_templates/addons/avo/app/views/layouts/_footer.html.erb +3 -0
  8. data/after_templates/addons/avo/app/views/layouts/_navbar.html.erb +8 -0
  9. data/after_templates/addons/avo/app/views/layouts/application.html.erb +23 -0
  10. data/after_templates/addons/avo/db/seeds.rb +132 -0
  11. data/after_templates/addons/devise/_.rb +70 -0
  12. data/after_templates/addons/devise/app/controllers/home_controller.rb +4 -0
  13. data/after_templates/addons/devise/app/controllers/posts_controller.rb +81 -0
  14. data/after_templates/addons/devise/app/models/post.rb +11 -0
  15. data/after_templates/addons/devise/app/models/user.rb +17 -0
  16. data/after_templates/addons/devise/app/views/home/index.html.erb +40 -0
  17. data/after_templates/addons/devise/app/views/layouts/_footer.html.erb +1 -0
  18. data/after_templates/addons/devise/app/views/layouts/_navbar.html.erb +10 -0
  19. data/after_templates/addons/devise/app/views/layouts/application.html.erb +38 -0
  20. data/after_templates/addons/devise/app/views/posts/_form.html.erb +27 -0
  21. data/after_templates/addons/devise/app/views/posts/_post.html.erb +14 -0
  22. data/after_templates/addons/devise/app/views/posts/index.html.erb +12 -0
  23. data/after_templates/addons/devise/app/views/posts/show.html.erb +8 -0
  24. data/after_templates/addons/devise/db/seeds.rb +11 -0
  25. data/after_templates/addons/minimal_css/_.rb +62 -0
  26. data/after_templates/addons/minimal_css/app/controllers/home_controller.rb +4 -0
  27. data/after_templates/addons/minimal_css/app/views/home/index.html.erb +140 -0
  28. data/after_templates/addons/minimal_css/app/views/layouts/_footer.html.erb +1 -0
  29. data/after_templates/addons/minimal_css/app/views/layouts/_navbar.html.erb +3 -0
  30. data/after_templates/addons/minimal_css/app/views/layouts/application.html.erb +29 -0
  31. data/after_templates/addons/minimal_css/db/seeds.rb +5 -0
  32. data/after_templates/rag/devise/_.rb +14 -17
  33. data/after_templates/rag/devise/app/controllers/home_controller.rb +4 -0
  34. data/after_templates/rag/devise/{post → app/controllers}/posts_controller.rb +0 -0
  35. data/after_templates/rag/devise/{post → app/models}/post.rb +0 -0
  36. data/after_templates/rag/devise/app/views/home/index.html.erb +3 -0
  37. data/after_templates/rag/devise/app/views/layouts/_footer.html.erb +3 -0
  38. data/after_templates/rag/devise/app/views/layouts/_navbar.html.erb +8 -0
  39. data/after_templates/rag/devise/app/views/layouts/application.html.erb +24 -0
  40. data/after_templates/rag/devise/{post → app/views/post}/_post.html.erb +0 -0
  41. data/after_templates/rag/test/_.rb +64 -0
  42. data/after_templates/rag/test/app/controllers/home_controller.rb +4 -0
  43. data/after_templates/rag/test/app/views/home/index.html.erb +3 -0
  44. data/after_templates/rag/test/app/views/layouts/_footer.html.erb +1 -0
  45. data/after_templates/rag/test/app/views/layouts/_navbar.html.erb +5 -0
  46. data/after_templates/rag/test/app/views/layouts/application.html.erb +29 -0
  47. data/after_templates/rag/test/db/seeds.rb +7 -0
  48. data/after_templates/rag/testy/_.rb +64 -0
  49. data/after_templates/rag/testy/app/controllers/home_controller.rb +4 -0
  50. data/after_templates/rag/testy/app/views/home/index.html.erb +3 -0
  51. data/after_templates/rag/testy/app/views/layouts/_footer.html.erb +1 -0
  52. data/after_templates/rag/testy/app/views/layouts/_navbar.html.erb +5 -0
  53. data/after_templates/rag/testy/app/views/layouts/application.html.erb +29 -0
  54. data/after_templates/rag/testy/db/seeds.rb +7 -0
  55. data/docs/last_run/app_generator_class.json +58 -34
  56. data/docs/last_run/app_generator_data.json +13 -10
  57. data/docs/last_run/rails_options_class.json +48 -24
  58. data/docs/last_run/rails_options_data.json +13 -10
  59. data/docs/project-plan/project.drawio +65 -59
  60. data/docs/project-plan/project_done.svg +1 -1
  61. data/lib/rails_app_generator/addon.rb +20 -2
  62. data/lib/rails_app_generator/addons/avo.rb +27 -0
  63. data/lib/rails_app_generator/addons/devise.rb +78 -28
  64. data/lib/rails_app_generator/addons/devise_old.rb +22 -0
  65. data/lib/rails_app_generator/addons/minimal_css.rb +70 -0
  66. data/lib/rails_app_generator/app_generator.rb +39 -20
  67. data/lib/rails_app_generator/gem_query.rb +34 -0
  68. data/lib/rails_app_generator/rag_initializer.rb +24 -8
  69. data/lib/rails_app_generator/version.rb +1 -1
  70. data/lib/rails_app_generator.rb +1 -0
  71. data/package-lock.json +2 -2
  72. data/package.json +1 -1
  73. data/profiles/addons/avo.json +16 -0
  74. data/profiles/addons/devise.json +16 -0
  75. data/profiles/addons/minimal_css.json +15 -0
  76. data/profiles/rag/testy.json +12 -0
  77. data/tasks/addon.thor +7 -3
  78. data/tasks/profile.thor +3 -3
  79. data/templates/Gemfile.erb +1 -0
  80. data/{after_templates/rag/devise/turbo_controller.rb → templates/addons/devise/app/controllers/turbo_devise_controller.rb} +4 -10
  81. data/templates/addons/devise/app/controllers/users/registrations_controller.rb +62 -0
  82. data/templates/addons/devise/app/views/devise/registrations/edit.html.erb +40 -54
  83. data/templates/addons/devise/app/views/devise/registrations/new.html.erb +32 -43
  84. data/templates/addons/devise/app/views/layouts/_alerts.html.erb +2 -0
  85. data/{after_templates/rag → templates/addons}/devise/config/initializers/devise_turbo.rb +1 -1
  86. data/templates/thor_task/profile/after_template.rb +1 -1
  87. data/templates/thor_task/profile/app/views/layouts/_footer.html.erb.tt +1 -3
  88. data/templates/thor_task/profile/app/views/layouts/_navbar.html.erb +5 -8
  89. data/templates/thor_task/profile/app/views/layouts/application.html.erb.tt +8 -2
  90. data/templates/thor_task/profile/db/seeds.rb +2 -11
  91. metadata +64 -17
  92. data/after_templates/rag/devise/application.html.erb +0 -20
  93. data/tasks/gem_info.rb +0 -47
  94. data/templates/addons/devise/app/views/devise/confirmations/new.html.erb +0 -24
  95. data/templates/addons/devise/app/views/devise/passwords/edit.html.erb +0 -34
  96. data/templates/addons/devise/app/views/devise/passwords/new.html.erb +0 -23
  97. data/templates/addons/devise/app/views/devise/sessions/new.html.erb +0 -33
  98. data/templates/addons/devise/app/views/devise/shared/_error_messages.html.erb +0 -15
  99. data/templates/addons/devise/app/views/devise/shared/_form_wrap.html.erb +0 -5
  100. data/templates/addons/devise/app/views/devise/shared/_links.html.erb +0 -25
  101. data/templates/addons/devise/app/views/devise/unlocks/new.html.erb +0 -22
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Users::RegistrationsController < Devise::RegistrationsController
4
+ before_action :configure_sign_up_params, only: [:create]
5
+ before_action :configure_account_update_params, only: [:update]
6
+
7
+ # GET /resource/sign_up
8
+ # def new
9
+ # super
10
+ # end
11
+
12
+ # POST /resource
13
+ # def create
14
+ # super
15
+ # end
16
+
17
+ # GET /resource/edit
18
+ # def edit
19
+ # super
20
+ # end
21
+
22
+ # PUT /resource
23
+ # def update
24
+ # super
25
+ # end
26
+
27
+ # DELETE /resource
28
+ # def destroy
29
+ # super
30
+ # end
31
+
32
+ # GET /resource/cancel
33
+ # Forces the session data which is usually expired after sign
34
+ # in to be expired now. This is useful if the user wants to
35
+ # cancel oauth signing in/up in the middle of the process,
36
+ # removing all OAuth session data.
37
+ # def cancel
38
+ # super
39
+ # end
40
+
41
+ # protected
42
+
43
+ # If you have extra params to permit, append them to the sanitizer.
44
+ def configure_sign_up_params
45
+ devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
46
+ end
47
+
48
+ # If you have extra params to permit, append them to the sanitizer.
49
+ def configure_account_update_params
50
+ devise_parameter_sanitizer.permit(:account_update, keys: [:name])
51
+ end
52
+
53
+ # The path used after sign up.
54
+ # def after_sign_up_path_for(resource)
55
+ # super(resource)
56
+ # end
57
+
58
+ # The path used after sign up for inactive accounts.
59
+ # def after_inactive_sign_up_path_for(resource)
60
+ # super(resource)
61
+ # end
62
+ end
@@ -1,62 +1,48 @@
1
- <% content_for :devise_form do %>
2
- <h2 class="pt-4 mb-8 text-4xl font-bold heading">Edit <%= resource_name.to_s.humanize %></h2>
3
-
4
- <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
5
-
6
- <%= render "devise/shared/error_messages", resource: resource %>
7
-
8
- <div class="input-group">
9
- <%= f.label :name, class:"label" %>
10
- <%= f.text_field :name, class:"input" %>
11
- </div>
12
-
13
- <div class="input-group">
14
- <%= f.label :email, class:"label" %>
15
- <%= f.email_field :email, autocomplete: "email", class:"input" %>
16
- </div>
17
-
18
- <div class="input-group">
19
- <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
20
- <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
21
- <% end %>
22
- </div>
23
-
24
- <div class="input-group">
25
- <%= f.label :password, class:"label" %>
26
- <%= f.password_field :password, autocomplete: "new-password", class:"input" %>
27
- <p class="pt-1 text-sm italic text-grey-dark"> <% if @minimum_password_length %>
28
- <%= @minimum_password_length %> characters minimum <% end %> (leave blank if you don't want to change it) </p>
29
-
30
- </div>
31
-
32
- <div class="input-group">
33
- <%= f.label :password_confirmation, class: "label" %>
34
- <%= f.password_field :password_confirmation, autocomplete: "new-password", class: "input" %>
35
- </div>
36
-
37
- <div class="input-group">
38
- <%= f.label :current_password, class: "label" %>
39
- <%= f.password_field :current_password, autocomplete: "current-password", class: "input" %>
40
- <p class="pt-2 text-sm italic text-grey-dark">(we need your current password to confirm your changes)</p>
41
- </div>
42
-
43
- <div class="input-group">
44
- <%= f.submit "Update", class: "btn btn-default" %>
45
- </div>
46
- <% end %>
1
+ <h2>Edit <%= resource_name.to_s.humanize %></h2>
2
+
3
+ <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+
6
+ <div class="field">
7
+ <%= f.label :name %><br />
8
+ <%= f.text_field :name, autofocus: true %>
9
+ </div>
10
+
11
+ <div class="field">
12
+ <%= f.label :email %><br />
13
+ <%= f.email_field :email, autocomplete: "email" %>
14
+ </div>
47
15
 
48
- <hr class="mt-6 mb-3 border" />
16
+ <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
17
+ <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
18
+ <% end %>
49
19
 
50
- <h3 class="mb-4 text-xl font-bold heading">Cancel my account</h3>
20
+ <div class="field">
21
+ <%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
22
+ <%= f.password_field :password, autocomplete: "new-password" %>
23
+ <% if @minimum_password_length %>
24
+ <br />
25
+ <em><%= @minimum_password_length %> characters minimum</em>
26
+ <% end %>
27
+ </div>
51
28
 
52
- <div class="flex items-center justify-between">
53
- <div class="flex-1">
54
- <p class="py-4">Unhappy?</p>
55
- </div>
29
+ <div class="field">
30
+ <%= f.label :password_confirmation %><br />
31
+ <%= f.password_field :password_confirmation, autocomplete: "new-password" %>
32
+ </div>
56
33
 
57
- <%= button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete, class: "btn btn-red" %>
34
+ <div class="field">
35
+ <%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
36
+ <%= f.password_field :current_password, autocomplete: "current-password" %>
58
37
  </div>
59
38
 
39
+ <div class="actions">
40
+ <%= f.submit "Update" %>
41
+ </div>
60
42
  <% end %>
61
43
 
62
- <%= render 'devise/shared/form_wrap' %>
44
+ <h3>Cancel my account</h3>
45
+
46
+ <p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete %></p>
47
+
48
+ <%= link_to "Back", :back %>
@@ -1,45 +1,34 @@
1
- <% content_for :devise_form do %>
2
-
3
- <h2 class="pt-4 mb-8 text-4xl font-bold heading">Sign up</h2>
4
-
5
- <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
6
- <%= render "devise/shared/error_messages", resource: resource %>
7
-
8
- <div class="input-group">
9
- <%= f.label :name, class:"label" %>
10
- <%= f.text_field :name, class:"input" %>
11
- </div>
12
-
13
- <div class="input-group">
14
- <%= f.label :email, class:"label" %>
15
- <%= f.email_field :email, autocomplete: "email", class:"input" %>
16
- </div>
17
-
18
- <div class="input-group">
19
- <div class="flex">
20
- <%= f.label :password, class: "label" %>
21
- <% if @minimum_password_length %>
22
- <span class="pl-1 text-xs text-grey-dark"><em>(<%= @minimum_password_length %> characters minimum)</em></span>
23
- <% end %>
24
- </div>
25
- <%= f.password_field :password, autocomplete: "new-password", class: "input" %>
26
- </div>
27
-
28
- <div class="input-group">
29
- <%= f.label :password_confirmation, class:"label" %>
30
- <%= f.password_field :password_confirmation, autocomplete: "new-password", class: "input" %>
31
- </div>
32
-
33
- <div class="input-group">
34
- <%= f.submit "Sign up", class: "btn btn-default" %>
35
- </div>
36
-
37
- <hr class="mt-6 border" />
38
-
39
- <% end %>
40
-
41
- <%= render "devise/shared/links" %>
42
-
1
+ <h2>Sign up</h2>
2
+
3
+ <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+
6
+ <div class="field">
7
+ <%= f.label :name %><br />
8
+ <%= f.text_field :name, autofocus: true %>
9
+ </div>
10
+
11
+ <div class="field">
12
+ <%= f.label :email %><br />
13
+ <%= f.email_field :email, autocomplete: "email" %>
14
+ </div>
15
+
16
+ <div class="field">
17
+ <%= f.label :password %>
18
+ <% if @minimum_password_length %>
19
+ <em>(<%= @minimum_password_length %> characters minimum)</em>
20
+ <% end %><br />
21
+ <%= f.password_field :password, autocomplete: "new-password" %>
22
+ </div>
23
+
24
+ <div class="field">
25
+ <%= f.label :password_confirmation %><br />
26
+ <%= f.password_field :password_confirmation, autocomplete: "new-password" %>
27
+ </div>
28
+
29
+ <div class="actions">
30
+ <%= f.submit "Sign up" %>
31
+ </div>
43
32
  <% end %>
44
33
 
45
- <%= render "devise/shared/form_wrap" %>
34
+ <%= render "devise/shared/links" %>
@@ -0,0 +1,2 @@
1
+ <% flash.each do |type, msg| %><div class="<%= type %>"><%= msg %></div><% end %>
2
+ <% if flash.any? %><hr /><% end %>
@@ -19,7 +19,7 @@ end
19
19
  Devise.setup do |config|
20
20
  # ==> Controller configuration
21
21
  # Configure the parent class to the devise controllers.
22
- config.parent_controller = 'TurboController'
22
+ config.parent_controller = 'TurboDeviseController'
23
23
 
24
24
  config.navigational_formats = ['*/*', :html, :turbo_stream]
25
25
 
@@ -28,7 +28,7 @@ after_bundle do
28
28
  end
29
29
 
30
30
  def setup_db
31
- # add_scaffold('post', 'title', 'body:text')
31
+ # add_scaffold('post', 'title', 'body:text', 'user:references')
32
32
  # add_scaffold('people', 'first_name', 'last_name', 'age:integer', 'address:text')
33
33
  # add_scaffold('product', 'name', 'price:integer')
34
34
 
@@ -1,3 +1 @@
1
- <footer>
2
- <hr />
3
- </footer>
1
+ <hr />
@@ -1,8 +1,5 @@
1
- <header>
2
- <%= link_to 'Home', root_path %> |
3
- <%# link_to 'Some Action', home_some_action_path %> |
4
- <%# link_to 'Products', products_path %> |
5
- <%# link_to 'Posts', posts_path %> |
6
- <%# link_to 'People', people_path %>
7
- <hr />
8
- </header>
1
+ <%= link_to 'Home', root_path %>
2
+ <%# link_to 'Products', products_path %>
3
+ <%# link_to 'Posts', posts_path %>
4
+ <%# link_to 'People', people_path %>
5
+ <hr />
@@ -14,10 +14,16 @@
14
14
  </head>
15
15
 
16
16
  <body>
17
- <%%= render 'layouts/navbar' %>
17
+ <header>
18
+ <%%= render 'layouts/navbar' %>
19
+ <hr />
20
+ </header>
18
21
  <main>
19
22
  <%%= yield %>
20
23
  </main>
21
- <%%= render 'layouts/footer' %>
24
+ <footer>
25
+ <%%= render 'layouts/footer' %>
26
+ </footer>
22
27
  </body>
23
28
  </html>
29
+
@@ -1,15 +1,6 @@
1
- # This file should contain all the record creation needed to seed the database with its default values.
2
- # The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
3
- #
4
- # User.find_or_create_by(email: "admin@admin.com") do |user|
5
- # user.name = 'Admin'
6
- # user.password = 'password'
7
- # user.admin = true
8
- # end
9
-
10
1
  # david = User.create(email: 'david@site.com', name: 'david', password: 'password')
11
- # bob = User.create(email: 'bob@site.com', name: 'bob', password: 'password')
12
- # lisa = User.create(email: 'lisa@site.com', name: 'lisa', password: 'password')
2
+ # james = User.create(email: 'james@site.com', name: 'james', password: 'password')
3
+ # sally = User.create(email: 'sally@site.com', name: 'sally', password: 'password')
13
4
 
14
5
  # 10.times do |i|
15
6
  # Post.create(title: "Post #{i}", body: "This is the body of post #{i}", user: User.all.sample)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_app_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.21
4
+ version: 0.2.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-12 00:00:00.000000000 Z
11
+ date: 2022-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -207,6 +207,13 @@ files:
207
207
  - after_templates/addons/annotate/app/views/layouts/_footer.html.erb
208
208
  - after_templates/addons/annotate/app/views/layouts/_navbar.html.erb
209
209
  - after_templates/addons/annotate/app/views/layouts/application.html.erb
210
+ - after_templates/addons/avo/_.rb
211
+ - after_templates/addons/avo/app/controllers/home_controller.rb
212
+ - after_templates/addons/avo/app/views/home/index.html.erb
213
+ - after_templates/addons/avo/app/views/layouts/_footer.html.erb
214
+ - after_templates/addons/avo/app/views/layouts/_navbar.html.erb
215
+ - after_templates/addons/avo/app/views/layouts/application.html.erb
216
+ - after_templates/addons/avo/db/seeds.rb
210
217
  - after_templates/addons/bcrypt/_.rb
211
218
  - after_templates/addons/bcrypt/app/controllers/home_controller.rb
212
219
  - after_templates/addons/bcrypt/app/models/user.rb
@@ -230,6 +237,20 @@ files:
230
237
  - after_templates/addons/chartkick/app/views/people/_person.html.erb
231
238
  - after_templates/addons/chartkick/config/initializers/chartkick.rb
232
239
  - after_templates/addons/chartkick/db/seeds.rb
240
+ - after_templates/addons/devise/_.rb
241
+ - after_templates/addons/devise/app/controllers/home_controller.rb
242
+ - after_templates/addons/devise/app/controllers/posts_controller.rb
243
+ - after_templates/addons/devise/app/models/post.rb
244
+ - after_templates/addons/devise/app/models/user.rb
245
+ - after_templates/addons/devise/app/views/home/index.html.erb
246
+ - after_templates/addons/devise/app/views/layouts/_footer.html.erb
247
+ - after_templates/addons/devise/app/views/layouts/_navbar.html.erb
248
+ - after_templates/addons/devise/app/views/layouts/application.html.erb
249
+ - after_templates/addons/devise/app/views/posts/_form.html.erb
250
+ - after_templates/addons/devise/app/views/posts/_post.html.erb
251
+ - after_templates/addons/devise/app/views/posts/index.html.erb
252
+ - after_templates/addons/devise/app/views/posts/show.html.erb
253
+ - after_templates/addons/devise/db/seeds.rb
233
254
  - after_templates/addons/dotenv/_.rb
234
255
  - after_templates/addons/dotenv/app/controllers/home_controller.rb
235
256
  - after_templates/addons/dotenv/app/views/home/index.html.erb
@@ -278,6 +299,13 @@ files:
278
299
  - after_templates/addons/mini_magick/app/views/layouts/_footer.html.erb
279
300
  - after_templates/addons/mini_magick/app/views/layouts/_navbar.html.erb
280
301
  - after_templates/addons/mini_magick/app/views/layouts/application.html.erb
302
+ - after_templates/addons/minimal_css/_.rb
303
+ - after_templates/addons/minimal_css/app/controllers/home_controller.rb
304
+ - after_templates/addons/minimal_css/app/views/home/index.html.erb
305
+ - after_templates/addons/minimal_css/app/views/layouts/_footer.html.erb
306
+ - after_templates/addons/minimal_css/app/views/layouts/_navbar.html.erb
307
+ - after_templates/addons/minimal_css/app/views/layouts/application.html.erb
308
+ - after_templates/addons/minimal_css/db/seeds.rb
281
309
  - after_templates/addons/motor_admin/_.rb
282
310
  - after_templates/addons/motor_admin/app/controllers/home_controller.rb
283
311
  - after_templates/addons/motor_admin/app/views/home/index.html.erb
@@ -403,18 +431,20 @@ files:
403
431
  - after_templates/rag/bootstrap/custom-using-scss.scss
404
432
  - after_templates/rag/bootstrap/manifest.js
405
433
  - after_templates/rag/devise/_.rb
406
- - after_templates/rag/devise/application.html.erb
434
+ - after_templates/rag/devise/app/controllers/home_controller.rb
435
+ - after_templates/rag/devise/app/controllers/posts_controller.rb
436
+ - after_templates/rag/devise/app/models/post.rb
437
+ - after_templates/rag/devise/app/views/home/index.html.erb
438
+ - after_templates/rag/devise/app/views/layouts/_footer.html.erb
439
+ - after_templates/rag/devise/app/views/layouts/_navbar.html.erb
440
+ - after_templates/rag/devise/app/views/layouts/application.html.erb
441
+ - after_templates/rag/devise/app/views/post/_post.html.erb
407
442
  - after_templates/rag/devise/application_controller.rb
408
- - after_templates/rag/devise/config/initializers/devise_turbo.rb
409
443
  - after_templates/rag/devise/layouts/_alerts.html.erb
410
444
  - after_templates/rag/devise/layouts/_footer.html.erb
411
445
  - after_templates/rag/devise/layouts/_navbar.html.erb
412
446
  - after_templates/rag/devise/layouts/application.html.erb
413
- - after_templates/rag/devise/post/_post.html.erb
414
- - after_templates/rag/devise/post/post.rb
415
- - after_templates/rag/devise/post/posts_controller.rb
416
447
  - after_templates/rag/devise/seed_data.rb
417
- - after_templates/rag/devise/turbo_controller.rb
418
448
  - after_templates/rag/devise/user.rb
419
449
  - after_templates/rag/import_map/_.rb
420
450
  - after_templates/rag/import_map/component-sortable.html
@@ -486,6 +516,20 @@ files:
486
516
  - after_templates/rag/tailwind_hotwire_form_search/show.html.erb
487
517
  - after_templates/rag/tailwind_hotwire_form_search/theme_changer_controller.js
488
518
  - after_templates/rag/tailwind_hotwire_form_search/update.turbo_stream.erb
519
+ - after_templates/rag/test/_.rb
520
+ - after_templates/rag/test/app/controllers/home_controller.rb
521
+ - after_templates/rag/test/app/views/home/index.html.erb
522
+ - after_templates/rag/test/app/views/layouts/_footer.html.erb
523
+ - after_templates/rag/test/app/views/layouts/_navbar.html.erb
524
+ - after_templates/rag/test/app/views/layouts/application.html.erb
525
+ - after_templates/rag/test/db/seeds.rb
526
+ - after_templates/rag/testy/_.rb
527
+ - after_templates/rag/testy/app/controllers/home_controller.rb
528
+ - after_templates/rag/testy/app/views/home/index.html.erb
529
+ - after_templates/rag/testy/app/views/layouts/_footer.html.erb
530
+ - after_templates/rag/testy/app/views/layouts/_navbar.html.erb
531
+ - after_templates/rag/testy/app/views/layouts/application.html.erb
532
+ - after_templates/rag/testy/db/seeds.rb
489
533
  - app:template
490
534
  - bin/console
491
535
  - bin/setup
@@ -512,11 +556,13 @@ files:
512
556
  - lib/rails_app_generator/addons/acts_as_list.rb
513
557
  - lib/rails_app_generator/addons/administrate.rb
514
558
  - lib/rails_app_generator/addons/annotate.rb
559
+ - lib/rails_app_generator/addons/avo.rb
515
560
  - lib/rails_app_generator/addons/bcrypt.rb
516
561
  - lib/rails_app_generator/addons/browser.rb
517
562
  - lib/rails_app_generator/addons/chartkick.rb
518
563
  - lib/rails_app_generator/addons/continuous_integration.rb
519
564
  - lib/rails_app_generator/addons/devise.rb
565
+ - lib/rails_app_generator/addons/devise_old.rb
520
566
  - lib/rails_app_generator/addons/docker.rb
521
567
  - lib/rails_app_generator/addons/docker_compose.rb
522
568
  - lib/rails_app_generator/addons/dotenv.rb
@@ -533,6 +579,7 @@ files:
533
579
  - lib/rails_app_generator/addons/irbrc.rb
534
580
  - lib/rails_app_generator/addons/lograge.rb
535
581
  - lib/rails_app_generator/addons/mini_magick.rb
582
+ - lib/rails_app_generator/addons/minimal_css.rb
536
583
  - lib/rails_app_generator/addons/motor_admin.rb
537
584
  - lib/rails_app_generator/addons/phony_rails.rb
538
585
  - lib/rails_app_generator/addons/public_suffix.rb
@@ -563,6 +610,7 @@ files:
563
610
  - lib/rails_app_generator/diff/processor.rb
564
611
  - lib/rails_app_generator/diff/report.rb
565
612
  - lib/rails_app_generator/formatted_gem_entry.rb
613
+ - lib/rails_app_generator/gem_query.rb
566
614
  - lib/rails_app_generator/notes/commands-list.txt
567
615
  - lib/rails_app_generator/notes/methods-class.txt
568
616
  - lib/rails_app_generator/notes/methods-instance.txt
@@ -586,9 +634,11 @@ files:
586
634
  - profiles/addons/acts_as_list.json
587
635
  - profiles/addons/administrate.json
588
636
  - profiles/addons/annotate.json
637
+ - profiles/addons/avo.json
589
638
  - profiles/addons/bcrypt.json
590
639
  - profiles/addons/browser.json
591
640
  - profiles/addons/chartkick.json
641
+ - profiles/addons/devise.json
592
642
  - profiles/addons/dotenv.json
593
643
  - profiles/addons/faker.json
594
644
  - profiles/addons/hexapdf.json
@@ -596,6 +646,7 @@ files:
596
646
  - profiles/addons/httparty.json
597
647
  - profiles/addons/lograge.json
598
648
  - profiles/addons/mini_magick.json
649
+ - profiles/addons/minimal_css.json
599
650
  - profiles/addons/motor_admin.json
600
651
  - profiles/addons/phony_rails.json
601
652
  - profiles/addons/public_suffix.json
@@ -615,9 +666,9 @@ files:
615
666
  - profiles/rag/tailwind-hotwire-form.json
616
667
  - profiles/rag/tailwind-hotwire.json
617
668
  - profiles/rag/tailwind.json
669
+ - profiles/rag/testy.json
618
670
  - sig/rails_app_generator.rbs
619
671
  - tasks/addon.thor
620
- - tasks/gem_info.rb
621
672
  - tasks/profile.thor
622
673
  - templates/Gemfile-original-r7
623
674
  - templates/Gemfile-original-schienenzeppelin.erb
@@ -626,16 +677,12 @@ files:
626
677
  - templates/README.md.erb
627
678
  - templates/addons/annotate/auto_annotate_models.rake
628
679
  - templates/addons/continuous_integration/.github/workflows/build.yml.erb
629
- - templates/addons/devise/app/views/devise/confirmations/new.html.erb
630
- - templates/addons/devise/app/views/devise/passwords/edit.html.erb
631
- - templates/addons/devise/app/views/devise/passwords/new.html.erb
680
+ - templates/addons/devise/app/controllers/turbo_devise_controller.rb
681
+ - templates/addons/devise/app/controllers/users/registrations_controller.rb
632
682
  - templates/addons/devise/app/views/devise/registrations/edit.html.erb
633
683
  - templates/addons/devise/app/views/devise/registrations/new.html.erb
634
- - templates/addons/devise/app/views/devise/sessions/new.html.erb
635
- - templates/addons/devise/app/views/devise/shared/_error_messages.html.erb
636
- - templates/addons/devise/app/views/devise/shared/_form_wrap.html.erb
637
- - templates/addons/devise/app/views/devise/shared/_links.html.erb
638
- - templates/addons/devise/app/views/devise/unlocks/new.html.erb
684
+ - templates/addons/devise/app/views/layouts/_alerts.html.erb
685
+ - templates/addons/devise/config/initializers/devise_turbo.rb
639
686
  - templates/addons/docker/.dockerignore.erb
640
687
  - templates/addons/docker/Dockerfile.erb
641
688
  - templates/addons/docker_compose/docker-compose.yml.erb
@@ -1,20 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Devise</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <%= csrf_meta_tags %>
7
- <%= csp_meta_tag %>
8
-
9
- <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
10
- </head>
11
-
12
- <body>
13
- <%= render 'layouts/navbar' %>
14
- <main>
15
- <%= render 'layouts/alerts' %>
16
- <%= yield %>
17
- </main>
18
- <%= render 'layouts/footer' %>
19
- </body>
20
- </html>
data/tasks/gem_info.rb DELETED
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Retrieve GemInfo from RubyGems.org
4
- class GemInfo
5
- attr_reader :name
6
- attr_reader :version
7
- attr_reader :description
8
-
9
- def initialize(name, version, description)
10
- @name = name
11
- @version = version
12
- @description = description
13
- end
14
-
15
- def debug
16
- puts "name: #{name}"
17
- puts "version: #{version}"
18
- puts "description: #{description}"
19
- end
20
-
21
- class << self
22
- def get(name)
23
- gem_info = query_ruby_gems(name)
24
-
25
- return gem_info if gem_info
26
-
27
- return query_ruby_gems(name.gsub('_', '-')) if name.include?('_')
28
- return query_ruby_gems(name.gsub('-', '_')) if name.include?('-')
29
-
30
- abort "Cannot find GEM (#{name}) on RubyGems.org"
31
- end
32
-
33
- private
34
-
35
- def query_ruby_gems(name)
36
- link = "https://rubygems.org/api/v1/gems/#{name.downcase}.json"
37
- info = Net::HTTP.get(URI.parse(link))
38
- json = JSON.parse(info)
39
-
40
- new(json['name'], json['version'], json['info'])
41
- rescue SocketError
42
- abort 'Internet connection cannot be established to RubyGems.org'
43
- rescue JSON::ParserError
44
- nil
45
- end
46
- end
47
- end
@@ -1,24 +0,0 @@
1
- <% content_for :devise_form do %>
2
-
3
- <h2 class="pt-4 mb-8 text-4xl font-bold heading">Resend confirmation instructions</h2>
4
-
5
- <%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
6
- <%= render "devise/shared/error_messages", resource: resource %>
7
-
8
- <div class="input-group">
9
- <%= f.label :email, class: "label" %>
10
- <%= f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email), class: "input" %>
11
- </div>
12
-
13
- <div class="input-group">
14
- <%= f.submit "Resend confirmation instructions", class: "btn btn-default" %>
15
- </div>
16
- <% end %>
17
-
18
- <hr class="mt-6 border" />
19
-
20
- <%= render "devise/shared/links" %>
21
-
22
- <% end %>
23
-
24
- <%= render "devise/shared/form_wrap" %>
@@ -1,34 +0,0 @@
1
- <% content_for :devise_form do %>
2
- <h2 class="pt-4 mb-8 text-4xl font-bold heading">Change your password</h2>
3
-
4
- <%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
5
- <%= render "devise/shared/error_messages", resource: resource %>
6
- <%= f.hidden_field :reset_password_token %>
7
-
8
- <div class="input-group">
9
- <div class="flex">
10
- <%= f.label :password, "New password", class:"label" %>
11
- <% if @minimum_password_length %>
12
- <em>(<%= @minimum_password_length %> characters minimum)</em>
13
- <% end %>
14
- </div>
15
- <%= f.password_field :password, autofocus: true, autocomplete: "new-password", class: "input" %>
16
- </div>
17
-
18
- <div class="input-group">
19
- <%= f.label :password_confirmation, "Confirm new password", class: "label" %>
20
- <%= f.password_field :password_confirmation, autocomplete: "off", class: "input" %>
21
- </div>
22
-
23
- <div class="input-group">
24
- <%= f.submit "Change my password", class: "btn btn-default" %>
25
- </div>
26
- <% end %>
27
-
28
- <hr class="mt-6 border" />
29
-
30
- <%= render "devise/shared/links" %>
31
-
32
- <% end %>
33
-
34
- <%= render "devise/shared/form_wrap" %>