rails_app_generator 0.2.28 → 0.2.29

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/after_templates/addons/rolify/_.rb +45 -0
  4. data/after_templates/addons/rolify/app/controllers/home_controller.rb +35 -0
  5. data/after_templates/addons/rolify/app/controllers/rolify_controller.rb +26 -0
  6. data/after_templates/addons/rolify/app/models/post.rb +3 -0
  7. data/after_templates/addons/rolify/app/models/user.rb +25 -0
  8. data/after_templates/addons/rolify/app/views/home/_roles.html.erb +5 -0
  9. data/after_templates/addons/rolify/app/views/home/bossy_boots.html.erb +5 -0
  10. data/after_templates/addons/rolify/app/views/home/index.html.erb +37 -0
  11. data/after_templates/addons/rolify/app/views/home/super_hero.html.erb +5 -0
  12. data/after_templates/addons/rolify/app/views/home/use_in_moderation.html.erb +5 -0
  13. data/after_templates/addons/rolify/app/views/home/use_me.html.erb +5 -0
  14. data/after_templates/addons/rolify/app/views/layouts/_footer.html.erb +1 -0
  15. data/after_templates/addons/rolify/app/views/layouts/_navbar.html.erb +18 -0
  16. data/after_templates/addons/rolify/app/views/layouts/application.html.erb +52 -0
  17. data/after_templates/addons/rolify/app/views/rolify/_form.html.erb +61 -0
  18. data/after_templates/addons/rolify/app/views/rolify/_user.html.erb +34 -0
  19. data/after_templates/addons/rolify/app/views/rolify/edit.html.erb +4 -0
  20. data/after_templates/addons/rolify/app/views/rolify/show.html.erb +5 -0
  21. data/after_templates/addons/rolify/db/seeds.rb +19 -0
  22. data/docs/last_run/app_generator_class.json +8 -0
  23. data/docs/last_run/app_generator_data.json +4 -3
  24. data/docs/last_run/rails_options_class.json +8 -0
  25. data/docs/last_run/rails_options_data.json +4 -3
  26. data/lib/rails_app_generator/addons/devise.rb +12 -3
  27. data/lib/rails_app_generator/addons/rolify.rb +3 -22
  28. data/lib/rails_app_generator/version.rb +1 -1
  29. data/package-lock.json +2 -2
  30. data/package.json +1 -1
  31. data/profiles/addons/rolify.json +17 -0
  32. metadata +22 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99e66536aa70b641a6bd5186f7aaf1416befa8790c29a6112c858471ae733c4b
4
- data.tar.gz: b820d4051f8ff1ad8560520d52b4e5d9cf7303278b2bae4e9ed624b3dfb1efc1
3
+ metadata.gz: 9814e53f17fa635ed1ab01effbdc7b434ccac9c09c8b4f3b25f2bd75c905bc34
4
+ data.tar.gz: 2986a8435c7bac002667d0826759ca8d480ac9b6f3397c717166eb08cc2ef84f
5
5
  SHA512:
6
- metadata.gz: 4461f08a275460d565a8ec5fc22e7e8e806bd42d09dfd9ee5e6291927ce4db23b1056a12146a51c218714340d87a6fcd9ddf968a7cb027539fcbe5766268435b
7
- data.tar.gz: e7a7977c103c67bb38b512c8f6bfbd3384bd3b4100cca4c2f14a0c0743f261c0e7a2b6b89f47f93eb59c3475bb1cc72b975b644de3794b44f293b02a793261cb
6
+ metadata.gz: 1299bd5a332ca9b2a8b9cefcbb51ea4338f5fefbb52f2c872429dee01ec6a94bb8d1838fe20c8ab6d3a2fcbd44e00b3f09e76abb28528a9f9944598d0c068c7e
7
+ data.tar.gz: bac96b22350786b254f9f5c713736ce9394462bc9caa22d64e5490a892f40122b5fd8b2c3c7f6fa5058eafc5b80ce07b30c2297ba62d389d7b7b2682beba8892
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.2.28](https://github.com/klueless-io/rails_app_generator/compare/v0.2.27...v0.2.28) (2022-08-17)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add rolify addon ([804ecf1](https://github.com/klueless-io/rails_app_generator/commit/804ecf1ba1fe1a56512b6d335a77558b0da3ad97))
7
+
1
8
  ## [0.2.27](https://github.com/klueless-io/rails_app_generator/compare/v0.2.26...v0.2.27) (2022-08-17)
2
9
 
3
10
 
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Role management library with resource scoping
4
+ #
5
+ # exe/rag addons/rolify
6
+
7
+ self.local_template_path = File.dirname(__FILE__)
8
+
9
+ gac 'base rails 7 image created'
10
+
11
+ prepare_environment
12
+
13
+ after_bundle do
14
+ scaffolds
15
+ setup_customizations
16
+ setup_db
17
+ end
18
+
19
+ def scaffolds
20
+ add_scaffold('post', 'title', 'body:text')
21
+ end
22
+
23
+ def setup_customizations
24
+ route("root 'home#index'")
25
+ route("get 'home/quick_sign_in/:user_id', to: 'home#quick_sign_in', as: 'quick_sign_in'")
26
+ route("get 'rolify/:id', to: 'rolify#show', as: 'rolify'")
27
+ route("get 'rolify/:id/edit', to: 'rolify#edit', as: 'edit_rolify'")
28
+ route("patch 'rolify/:id', to: 'rolify#update'")
29
+
30
+ force_copy
31
+
32
+ add_controller('home', 'index', 'quick_sign_in', 'bossy_boots', 'use_in_moderation', 'use_me', 'super_hero')
33
+
34
+ directory "app/controllers"
35
+ directory "app/models"
36
+ directory "app/views"
37
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
38
+ end
39
+
40
+ def setup_db
41
+ template 'db/seeds.rb' , 'db/seeds.rb'
42
+
43
+ db_migrate
44
+ db_seed
45
+ end
@@ -0,0 +1,35 @@
1
+ class HomeController < ApplicationController
2
+ before_action :require_permission, except: %i[index quick_sign_in]
3
+
4
+ def index
5
+ end
6
+
7
+ def quick_sign_in
8
+ user = User.find(params[:user_id])
9
+ sign_in(user)
10
+ redirect_to root_path
11
+ end
12
+
13
+ def bossy_boots
14
+ end
15
+
16
+ def use_in_moderation
17
+ end
18
+
19
+ def use_me
20
+ end
21
+
22
+ def super_hero
23
+ end
24
+
25
+ def require_permission
26
+ return if current_user&.is_super_user?
27
+ return if current_user&.is_admin? && action_name == "bossy_boots"
28
+ return if current_user&.is_moderator? && action_name == "use_in_moderation"
29
+ return if current_user&.is_user? && action_name == "use_me"
30
+
31
+ flash.alert = "You do not have permission to access #{action_name.titleize}"
32
+
33
+ redirect_to root_path
34
+ end
35
+ end
@@ -0,0 +1,26 @@
1
+ class RolifyController < ApplicationController
2
+ before_action :set_user, only: %i[ show edit update ]
3
+
4
+ def show
5
+ end
6
+
7
+ def edit
8
+ end
9
+
10
+ def update
11
+ if @user.update(user_params)
12
+ redirect_to root_path, notice: "User was successfully updated."
13
+ else
14
+ render :edit, status: :unprocessable_entity
15
+ end
16
+ end
17
+
18
+ private
19
+ def set_user
20
+ @user = User.find(params[:id])
21
+ end
22
+
23
+ def user_params
24
+ params.require(:user).permit(role_ids: [])
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ class Post < ApplicationRecord
2
+ resourcify
3
+ end
@@ -0,0 +1,25 @@
1
+ class User < ApplicationRecord
2
+ # Rolify needs to be called before assigning default role due to a bug in Rolify
3
+ # see: https://github.com/RolifyCommunity/rolify/issues/518#issuecomment-1218705389
4
+ rolify
5
+
6
+ after_create :assign_default_role
7
+
8
+ devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable
9
+
10
+ validate :must_have_role, on: :update
11
+
12
+ def assign_default_role
13
+ self.add_role(:user) if self.roles.blank?
14
+ end
15
+
16
+ def role_names
17
+ roles.distinct.pluck(:name)
18
+ end
19
+
20
+ def must_have_role
21
+ if self.roles.blank?
22
+ errors.add(:roles, "User must have at least one role")
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ <ul>
2
+ <% current_user&.roles&.each do |role| %>
3
+ <li><code><%= role.name %></code></li>
4
+ <% end %>
5
+ </ul>
@@ -0,0 +1,5 @@
1
+ <h1>Bossy Boots</h1>
2
+
3
+ <p>Accessible by people with the role <code>:super_user</code> or <code>:admin</code></p>
4
+
5
+ <%= render 'roles' %>
@@ -0,0 +1,37 @@
1
+ <h1>Rolify</h1>
2
+
3
+ <h4>Role management library with resource scoping</h4>
4
+
5
+ <ul>
6
+ <li>Role <b>admin</b>, can access <b>Bossy Boots</b></li>
7
+ <li>Role <b>moderator</b>, can access <b>Use in moderation</b></li>
8
+ <li>Role <b>user</b>, can access <b>Use Me</b></li>
9
+ <li>Role <b>super_user</b>, can access <b>every thing</b></li>
10
+ </ul>
11
+
12
+ <h3>Sample users and passwords</h3>
13
+
14
+ <table style='width: 800px;'>
15
+ <tr>
16
+ <th>Name</th>
17
+ <th>Email</th>
18
+ <th>Roles</th>
19
+ <th>Be who you wanna be</th>
20
+ <th>Manage Roles</th>
21
+ </tr>
22
+ <% User.all.each do |user| %>
23
+ <tr>
24
+ <td><%= user.name %></td>
25
+ <td><%= user.email %></td>
26
+ <td>
27
+ <ul style='list-style-type: none; padding: 2px; margin: 0px'>
28
+ <% user.role_names.each do |role| %>
29
+ <li><%= role %></li>
30
+ <% end %>
31
+ </ul>
32
+ </td>
33
+ <td><%= link_to "Sign In", quick_sign_in_path(user) %></td>
34
+ <td><%= link_to "Manage", edit_rolify_path(user) %></td>
35
+ </tr>
36
+ <% end %>
37
+ </table>
@@ -0,0 +1,5 @@
1
+ <h1>You are a Super Hero</h1>
2
+
3
+ <p>Accessible by people with the role <code>:super_user</code></p>
4
+
5
+ <%= render 'roles' %>
@@ -0,0 +1,5 @@
1
+ <h1>Use in moderation</h1>
2
+
3
+ <p>Accessible by people with the role <code>:super_user</code> or <code>:moderator</code></p>
4
+
5
+ <%= render 'roles' %>
@@ -0,0 +1,5 @@
1
+ <h1>Use Me</h1>
2
+
3
+ <p>Accessible by people with the role <code>:super_user</code> or <code>:user</code></p>
4
+
5
+ <%= render 'roles' %>
@@ -0,0 +1,18 @@
1
+ <%= link_to 'Home', root_path %>
2
+ | <%= link_to 'Posts', posts_path %>
3
+ [ <%= link_to 'Bossy Boots', home_bossy_boots_path, class: current_user&.is_super_user? || current_user&.is_admin? ? "has-role" : "has-no-role" %>
4
+ | <%= link_to 'Use in Moderation', home_use_in_moderation_path, class: current_user&.is_super_user? || current_user&.is_moderator? ? "has-role" : "has-no-role" %>
5
+ | <%= link_to 'Use Me', home_use_me_path, class: current_user&.is_super_user? || current_user&.is_user? ? "has-role" : "has-no-role" %>
6
+ | <%= link_to 'I will be your Hero', home_super_hero_path, class: current_user&.is_super_user? ? "has-role" : "has-no-role" %>
7
+ ]
8
+ <br>
9
+ <% if current_user %>
10
+ <%= current_user.name.capitalize %>
11
+ <%= link_to "Edit Roles", edit_rolify_path(current_user) %>
12
+ <% if current_user.roles.present? %><%= "(#{current_user.roles.map(&:name).join(', ')})" %><% end %>
13
+ | <%= link_to 'Sign Out', destroy_user_session_path, data: { turbo_method: :delete } %>
14
+
15
+ <% else %>
16
+ | <%= link_to 'Sign Up', new_user_registration_path %>
17
+ | <%= link_to 'Sign In', new_user_session_path %>
18
+ <% end%>
@@ -0,0 +1,52 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= camelized %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%%= csrf_meta_tags %>
7
+ <%%= csp_meta_tag %>
8
+
9
+ <%- if options[:skip_hotwire] || options[:skip_javascript] -%>
10
+ <%%= stylesheet_link_tag "application" %>
11
+ <%- else -%>
12
+ <%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
13
+ <%- end -%>
14
+ <%%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>
15
+ <style>
16
+ .notice {
17
+ color: green;
18
+ }
19
+ .alert {
20
+ color: red;
21
+ }
22
+ table {
23
+ border-collapse: collapse;
24
+ }
25
+ th, td {
26
+ border: 1px solid #ccc;
27
+ padding: 5px;
28
+ }
29
+ .has-role {
30
+ color: green;
31
+ }
32
+ .has-no-role {
33
+ color: grey;
34
+ }
35
+ </style>
36
+ </head>
37
+
38
+ <body>
39
+ <header>
40
+ <%%= render 'layouts/navbar' %>
41
+ <hr />
42
+ <%%= render 'layouts/alerts' %>
43
+ </header>
44
+ <main>
45
+ <%%= yield %>
46
+ </main>
47
+ <footer>
48
+ <%%= render 'layouts/footer' %>
49
+ </footer>
50
+ </body>
51
+ </html>
52
+
@@ -0,0 +1,61 @@
1
+ <%# , url: { controller: "rolify", action: "update" }, html: { :turbo_method => :post } %>
2
+ <%= form_with(model: user, url: rolify_path(user)) do |form| %>
3
+
4
+ <% if user.errors.any? %>
5
+ <div style="color: red">
6
+ <h2><%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:</h2>
7
+
8
+ <ul>
9
+ <% user.errors.each do |error| %>
10
+ <li><%= error.full_message %></li>
11
+ <% end %>
12
+ </ul>
13
+ </div>
14
+ <% end %>
15
+
16
+ <p>
17
+ <strong>Name:</strong>
18
+ <%= user.name %>
19
+ </p>
20
+
21
+ <p>
22
+ <strong>Email:</strong>
23
+ <%= user.email %>
24
+ </p>
25
+
26
+ <p>
27
+ <%= form.label :current_roles, style: "display: block" %>
28
+ <%= user.roles.where(resource_type: nil).map { |role| role.name.capitalize }.to_sentence %>
29
+ </p>
30
+
31
+ <div>
32
+ <%= form.label :raw_roles, style: "display: block" %>
33
+ <pre>
34
+ <code>
35
+ <% user.roles.each do |role| %>
36
+ <%=
37
+ extra_info = if role.resource_type
38
+ " (#{role.resource_type}: #{role.resource_id})"
39
+ else
40
+ ""
41
+ end
42
+ "#{role.id} - #{role.name}, #{extra_info}"
43
+ %>
44
+ <% end %>
45
+ </code>
46
+ </pre>
47
+ </div>
48
+
49
+ <div>
50
+ <%= form.label :user_roles, style: "display: block" %>
51
+ <% Role.where(resource_type: nil).each do |role| %>
52
+ <%= form.check_box :role_ids, { multiple: true, checked: user.role_ids.include?(role.id) }, role.id, nil %>
53
+ <%= role.name %><br />
54
+ <% end %>
55
+ </ul>
56
+ </div>
57
+
58
+ <div>
59
+ <%= form.submit %>
60
+ </div>
61
+ <% end %>
@@ -0,0 +1,34 @@
1
+ <div id="<%= dom_id user %>">
2
+ <p>
3
+ <strong>Name:</strong>
4
+ <%= user.name %>
5
+ </p>
6
+
7
+ <p>
8
+ <strong>Email:</strong>
9
+ <%= user.email %>
10
+ </p>
11
+
12
+ <div>
13
+ <strong>Current Roles:</strong>
14
+ <%= user.roles.where(resource_type: nil).map { |role| role.name.capitalize }.join(', ') %>
15
+ </div>
16
+
17
+ <div>
18
+ <pre>
19
+ <code>
20
+ <% user.roles.each do |role| %>
21
+ <%=
22
+ extra_info = if role.resource_type
23
+ " (#{role.resource_type}: #{role.resource_id})"
24
+ else
25
+ ""
26
+ end
27
+ "#{role.id} - #{role.name}, #{extra_info}"
28
+ %>
29
+ <% end %>
30
+ </code>
31
+ </pre>
32
+ </div>
33
+
34
+ </div>
@@ -0,0 +1,4 @@
1
+ <h1>Edit User Roles</h1>
2
+
3
+ <%= render "form", user: @user %>
4
+
@@ -0,0 +1,5 @@
1
+ <%= render "user", user: @user %>
2
+
3
+ <div>
4
+ <%= link_to "Edit roles for this user", edit_rolify_path(@user) %>
5
+ </div>
@@ -0,0 +1,19 @@
1
+ david = User.create(email: 'david@site.com', name: 'david', password: 'password', password_confirmation: 'password')
2
+ james = User.create(email: 'james@site.com', name: 'james', password: 'password', password_confirmation: 'password')
3
+ sally = User.create(email: 'sally@site.com', name: 'sally', password: 'password', password_confirmation: 'password')
4
+ chloe = User.create(email: 'chloe@site.com', name: 'chloe', password: 'password', password_confirmation: 'password')
5
+
6
+ david.add_role(:super_user)
7
+ james.add_role(:admin)
8
+ sally.add_role(:moderator)
9
+ chloe.add_role(:admin)
10
+ chloe.add_role(:moderator)
11
+
12
+ 10.times do
13
+ user = User.all.sample
14
+ post = Post.create(
15
+ title: "Post #{Faker::Lorem.words(number: rand(1..3)).join(' ')}",
16
+ body: "#{Faker::Lorem.sentences(number: 8).join("<br />")}"
17
+ )
18
+ user.add_role(:author, post)
19
+ end
@@ -65,6 +65,7 @@
65
65
  "add_public_suffix",
66
66
  "add_rails_html_sanitizer",
67
67
  "add_redcarpet",
68
+ "add_rolify",
68
69
  "add_rubocop",
69
70
  "add_twilio_ruby"
70
71
  ],
@@ -524,6 +525,13 @@
524
525
  "default": false,
525
526
  "required": false
526
527
  },
528
+ {
529
+ "name": "add_rolify",
530
+ "description": "Indicates when to generate add rolify",
531
+ "type": "boolean",
532
+ "default": false,
533
+ "required": false
534
+ },
527
535
  {
528
536
  "name": "add_rubocop",
529
537
  "description": "Indicates when to generate add rubocop",
@@ -40,7 +40,7 @@
40
40
  "add_devise": true,
41
41
  "add_devise_masquerade": false,
42
42
  "add_dotenv": false,
43
- "add_faker": false,
43
+ "add_faker": true,
44
44
  "add_groupdate": false,
45
45
  "add_hexapdf": false,
46
46
  "add_httparty": false,
@@ -51,12 +51,13 @@
51
51
  "add_mini_magick": false,
52
52
  "add_motor_admin": false,
53
53
  "add_phony_rails": false,
54
- "add_pretender": true,
54
+ "add_pretender": false,
55
55
  "add_public_suffix": false,
56
56
  "add_rails_html_sanitizer": false,
57
57
  "add_redcarpet": false,
58
+ "add_rolify": true,
58
59
  "add_rubocop": false,
59
60
  "add_twilio_ruby": false,
60
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/pretender/_.rb"
61
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/rolify/_.rb"
61
62
  }
62
63
  }
@@ -65,6 +65,7 @@
65
65
  "add_public_suffix",
66
66
  "add_rails_html_sanitizer",
67
67
  "add_redcarpet",
68
+ "add_rolify",
68
69
  "add_rubocop",
69
70
  "add_twilio_ruby"
70
71
  ],
@@ -524,6 +525,13 @@
524
525
  "default": false,
525
526
  "required": false
526
527
  },
528
+ {
529
+ "name": "add_rolify",
530
+ "description": "",
531
+ "type": "boolean",
532
+ "default": false,
533
+ "required": false
534
+ },
527
535
  {
528
536
  "name": "add_rubocop",
529
537
  "description": "",
@@ -7,7 +7,7 @@
7
7
  "quiet": false,
8
8
  "skip": false,
9
9
  "ruby": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
10
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/pretender/_.rb",
10
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/rolify/_.rb",
11
11
  "database": "sqlite3",
12
12
  "skip_git": true,
13
13
  "skip_keeps": false,
@@ -50,7 +50,7 @@
50
50
  "add_devise": true,
51
51
  "add_devise_masquerade": false,
52
52
  "add_dotenv": false,
53
- "add_faker": false,
53
+ "add_faker": true,
54
54
  "add_groupdate": false,
55
55
  "add_hexapdf": false,
56
56
  "add_httparty": false,
@@ -61,10 +61,11 @@
61
61
  "add_mini_magick": false,
62
62
  "add_motor_admin": false,
63
63
  "add_phony_rails": false,
64
- "add_pretender": true,
64
+ "add_pretender": false,
65
65
  "add_public_suffix": false,
66
66
  "add_rails_html_sanitizer": false,
67
67
  "add_redcarpet": false,
68
+ "add_rolify": true,
68
69
  "add_rubocop": false,
69
70
  "add_twilio_ruby": false
70
71
  }
@@ -41,12 +41,21 @@ module RailsAppGenerator
41
41
  private
42
42
 
43
43
  def setup_db
44
- generate(:devise, 'User', 'name', 'role:integer', capture: true)
44
+ if active?(:rolify)
45
+ # Rolify will setup up a role relationship
46
+ user_basic
47
+ else
48
+ user_with_simplified_role
49
+ end
50
+ end
45
51
 
46
- update_migration
52
+ def user_basic
53
+ generate(:devise, 'User', 'name', capture: true)
47
54
  end
48
55
 
49
- def update_migration
56
+ def user_with_simplified_role
57
+ generate(:devise, 'User', 'name', 'role:integer', capture: true)
58
+
50
59
  in_root do
51
60
  migration = Dir.glob('db/migrate/*').max_by { |f| File.mtime(f) }
52
61
  gsub_file migration, /:role/, ':role, default: 0'
@@ -5,32 +5,13 @@ module RailsAppGenerator
5
5
  module AddOns
6
6
  # Add Rolify to rails application
7
7
  class Rolify < RailsAppGenerator::Addon
8
- required_gem gem.version('rolify', '6.0.0', 'Role management library with resource scoping.')
8
+ required_gem gem.version('rolify', '6.0.0', 'Role management library with resource scoping')
9
9
 
10
10
  def apply
11
11
  # bundle_install
12
- generate('rolify', 'role', 'user')
12
+ generate('rolify', 'Role', 'User', capture: true)
13
13
 
14
- say 'Setting up Rolify'
15
- # template('rolify_template.rb', 'target/rolify.rb', force: true)
16
- # template('app/javascript/stylesheets/components.scss')
17
- # create_file('target/rolify.rb', 'put your content here')
18
- # directory 'app/template', 'app/target', force: true
19
- # empty_directory 'app/target'
20
- # inject_into_file('app/application.js', "some content")
21
- # rails_command('tailwindcss:install')
22
- end
23
-
24
- def before_template
25
- say 'Setting up Rolify - before custom template'
26
- end
27
-
28
- def before_bundle
29
- say 'Setting up Rolify - before bundle install'
30
- end
31
-
32
- def after_bundle
33
- say 'Setting up Rolify - after bundle install'
14
+ gsub_file 'config/initializers/rolify.rb', '# config.use_dynamic_shortcuts', 'config.use_dynamic_shortcuts'
34
15
  end
35
16
  end
36
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.2.28'
4
+ VERSION = '0.2.29'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.28",
3
+ "version": "0.2.29",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.2.28",
9
+ "version": "0.2.29",
10
10
  "dependencies": {
11
11
  "daisyui": "^2.20.0"
12
12
  },
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.28",
3
+ "version": "0.2.29",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
@@ -0,0 +1,17 @@
1
+ {
2
+ "args": {
3
+ "app_path": "r7_rolify",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
5
+ },
6
+ "opts": {
7
+ "skip_git": true,
8
+ "skip_test": true,
9
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/rolify/_.rb",
10
+ "javascript": "esbuild",
11
+ "add_annotate": true,
12
+ "add_devise": true,
13
+ "add_rolify": true,
14
+ "add_faker": true,
15
+ "add_minimal_css": true
16
+ }
17
+ }
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.28
4
+ version: 0.2.29
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-17 00:00:00.000000000 Z
11
+ date: 2022-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -348,6 +348,25 @@ files:
348
348
  - after_templates/addons/redcarpet/app/views/layouts/_footer.html.erb
349
349
  - after_templates/addons/redcarpet/app/views/layouts/_navbar.html.erb
350
350
  - after_templates/addons/redcarpet/app/views/layouts/application.html.erb
351
+ - after_templates/addons/rolify/_.rb
352
+ - after_templates/addons/rolify/app/controllers/home_controller.rb
353
+ - after_templates/addons/rolify/app/controllers/rolify_controller.rb
354
+ - after_templates/addons/rolify/app/models/post.rb
355
+ - after_templates/addons/rolify/app/models/user.rb
356
+ - after_templates/addons/rolify/app/views/home/_roles.html.erb
357
+ - after_templates/addons/rolify/app/views/home/bossy_boots.html.erb
358
+ - after_templates/addons/rolify/app/views/home/index.html.erb
359
+ - after_templates/addons/rolify/app/views/home/super_hero.html.erb
360
+ - after_templates/addons/rolify/app/views/home/use_in_moderation.html.erb
361
+ - after_templates/addons/rolify/app/views/home/use_me.html.erb
362
+ - after_templates/addons/rolify/app/views/layouts/_footer.html.erb
363
+ - after_templates/addons/rolify/app/views/layouts/_navbar.html.erb
364
+ - after_templates/addons/rolify/app/views/layouts/application.html.erb
365
+ - after_templates/addons/rolify/app/views/rolify/_form.html.erb
366
+ - after_templates/addons/rolify/app/views/rolify/_user.html.erb
367
+ - after_templates/addons/rolify/app/views/rolify/edit.html.erb
368
+ - after_templates/addons/rolify/app/views/rolify/show.html.erb
369
+ - after_templates/addons/rolify/db/seeds.rb
351
370
  - after_templates/addons/rubocop/_.rb
352
371
  - after_templates/addons/rubocop/app/assets/images/cop-output.png
353
372
  - after_templates/addons/rubocop/app/controllers/home_controller.rb
@@ -675,6 +694,7 @@ files:
675
694
  - profiles/addons/public_suffix.json
676
695
  - profiles/addons/rails_html_sanitizer.json
677
696
  - profiles/addons/redcarpet.json
697
+ - profiles/addons/rolify.json
678
698
  - profiles/addons/rubocop.json
679
699
  - profiles/addons/twilio_ruby.json
680
700
  - profiles/application/printspeak.json