rails_app_generator 0.2.24 → 0.2.25

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/after_templates/addons/devise/_.rb +0 -27
  4. data/after_templates/addons/devise/db/seeds.rb +3 -3
  5. data/after_templates/addons/devise_masquerade/_.rb +36 -0
  6. data/after_templates/addons/devise_masquerade/app/controllers/application_controller.rb +3 -0
  7. data/after_templates/addons/devise_masquerade/app/controllers/home_controller.rb +4 -0
  8. data/after_templates/addons/devise_masquerade/app/controllers/users/masquerades_controller.rb +10 -0
  9. data/after_templates/addons/devise_masquerade/app/models/user.rb +17 -0
  10. data/after_templates/addons/devise_masquerade/app/views/home/index.html.erb +66 -0
  11. data/after_templates/addons/devise_masquerade/app/views/layouts/_footer.html.erb +1 -0
  12. data/after_templates/addons/devise_masquerade/app/views/layouts/_navbar.html.erb +6 -0
  13. data/after_templates/addons/devise_masquerade/app/views/layouts/application.html.erb +57 -0
  14. data/after_templates/addons/devise_masquerade/db/seeds.rb +3 -0
  15. data/docs/last_run/app_generator_class.json +9 -1
  16. data/docs/last_run/app_generator_data.json +9 -8
  17. data/docs/last_run/rails_options_class.json +9 -1
  18. data/docs/last_run/rails_options_data.json +11 -9
  19. data/lib/rails_app_generator/addon.rb +13 -3
  20. data/lib/rails_app_generator/addons/devise.rb +9 -1
  21. data/lib/rails_app_generator/addons/devise_masquerade.rb +23 -0
  22. data/lib/rails_app_generator/app_generator.rb +1 -0
  23. data/lib/rails_app_generator/rag_initializer.rb +1 -0
  24. data/lib/rails_app_generator/version.rb +1 -1
  25. data/package-lock.json +2 -2
  26. data/package.json +1 -1
  27. data/profiles/addons/devise_masquerade.json +17 -0
  28. metadata +14 -3
  29. data/lib/rails_app_generator/addons/devise_old.rb +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3b2288ae71fcb62d6d27a0c112af620c7ccebf29dad7f7a3ccf0b6b763960bd
4
- data.tar.gz: 66acd6ef9f7663d0f71605564fa793e88e2f7c4c10427da39b21259cf9cb8ee4
3
+ metadata.gz: f540e53519b46581a9bc18d4db37766d6ac38a27a7493732058aa83254caf62e
4
+ data.tar.gz: da9ecf9716c196663b3d8be4d18e070fadf5f8f3ef4c6c501fbc213f2130a9db
5
5
  SHA512:
6
- metadata.gz: f58098fef783d509ff3005a5687c5d576c02b827ecb252b90e15f0150a73301d268dc4bd37412618b53bf4d82f21e60b02b9c46ae84ee0351ae9ddc85cc335bc
7
- data.tar.gz: 02e741081aeec1eca92b1ae4260831cd0b556a243c98b3147c76b446b793d9fa1bee52949819bf02255dc00c0d9257192224fe8516834354f9d02fdf71a1017b
6
+ metadata.gz: 7b16806642e285948098aa32af0454f86288a466db8decd5fda79ceb9a2cdbf4d63fa439631d42fc4cf5d45b7b8bc23fc05c2472c781870dd5306cb65940e3dd
7
+ data.tar.gz: dd0a91e5039ae9f3b450f62624f40651a3fc7e036c3a52a8d9a4d2b582958f95b32fc6d51f57742bf4e9e156714bd5ecb5784fa1030a1de4f5e8c6d16199ff7b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.2.24](https://github.com/klueless-io/rails_app_generator/compare/v0.2.23...v0.2.24) (2022-08-16)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add minimal_css profile ([5770975](https://github.com/klueless-io/rails_app_generator/commit/577097594ee3c82218628525b9bc6dd8299fb13e))
7
+
1
8
  ## [0.2.23](https://github.com/klueless-io/rails_app_generator/compare/v0.2.22...v0.2.23) (2022-08-16)
2
9
 
3
10
 
@@ -41,30 +41,3 @@ def setup_customizations
41
41
  directory "app/views"
42
42
  template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
43
43
  end
44
-
45
- # Other template command examples
46
- # prepare_environment
47
- # bundle_install
48
- # css_install('tailwind')
49
- # rails_command('db:migrate')
50
- # rails_command('db:migrate')
51
- # bundle_add('hotwire-rails')
52
- # rails_command('hotwire:install')
53
- # run('bin/importmap pin sortablejs')
54
- # run('npm install daisyui')
55
- # rubocop
56
- #
57
- # directory 'app/assets/images'
58
- # create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
59
- # append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
60
- # insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
61
- # before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
62
- # gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
63
- # template 'home.css', 'app/assets/stylesheets/home.css'
64
- #
65
- # add_controller('page', 'benefits', 'faq', 'terms', 'privacy', '--skip-routes')
66
- # route(<<-'RUBY')
67
- # PageController.action_methods.each do |action|
68
- # get "/#{action}", to: "page##{action}", as: "page_#{action}"
69
- # end
70
- # RUBY
@@ -1,6 +1,6 @@
1
- david = User.create(email: 'david@site.com', name: 'david', password: 'password', password_confirmation: 'password', role: :admin)
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', role: :moderator)
1
+ User.create(email: 'david@site.com', name: 'david', password: 'password', password_confirmation: 'password', role: :admin)
2
+ User.create(email: 'james@site.com', name: 'james', password: 'password', password_confirmation: 'password')
3
+ User.create(email: 'sally@site.com', name: 'sally', password: 'password', password_confirmation: 'password', role: :moderator)
4
4
 
5
5
  10.times do
6
6
  Post.create(
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Description goes here
4
+ #
5
+ # exe/rag addons/devise_masquerade
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
+ setup_customizations
15
+ setup_db
16
+ end
17
+
18
+ def setup_db
19
+ template 'db/seeds.rb' , 'db/seeds.rb'
20
+
21
+ db_migrate
22
+ db_seed
23
+ end
24
+
25
+ def setup_customizations
26
+ route("root 'home#index'")
27
+
28
+ force_copy
29
+
30
+ add_controller('home', 'index')
31
+
32
+ directory "app/controllers"
33
+ directory "app/models"
34
+ directory "app/views"
35
+ template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
36
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ before_action :masquerade_user!
3
+ end
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,10 @@
1
+ class Users::MasqueradesController < Devise::MasqueradesController
2
+ # This location matches the location for other Devise controllers
3
+
4
+ protected
5
+
6
+ # Custom url redirect after masquerade
7
+ def after_masquerade_path_for(_resource)
8
+ root_path
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ class User < ApplicationRecord
2
+ after_initialize :set_default_role, if: :new_record?
3
+
4
+ # Include default devise modules. Others available are:
5
+ # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
6
+ devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable, :masqueradable
7
+
8
+ has_many :posts
9
+
10
+ enum role: { user: 0, moderator: 1, admin: 9 }
11
+
12
+ private
13
+
14
+ def set_default_role
15
+ self.role ||= :user
16
+ end
17
+ end
@@ -0,0 +1,66 @@
1
+ <h1>Devise Masquerade</h1>
2
+
3
+ <h4>Devise extension that enables login as another user functionality</h4>
4
+
5
+ <p><b class='alert'>Warning!</b> If <code>masquerade?</code> is never returning <code>true</code> then ensure you have turned on caching in development using <code>rails dev:cache</code> </p>
6
+
7
+ <pre><code>user_masquerade? => <%= user_masquerade? %></code></pre>
8
+
9
+ <p>Sign in with an <b>Admin</b> user and then impersonate other users</p>
10
+
11
+ <h3>Sample users and passwords</h3>
12
+
13
+ <% if current_user %>
14
+ <% if current_user.admin? %>
15
+ <h1 class='admin'><%= current_user.name.capitalize %> - Admininstrator</h1>
16
+ <% elsif current_user.user? %>
17
+ <h1 class='user'><%= current_user.name.capitalize %> - User</h1>
18
+ <% end %>
19
+ <% else %>
20
+ <h1 class='not-signed-in'>Not currently signed in</h1>
21
+ <% end %>
22
+
23
+ <table style='width: 600px;'>
24
+ <tr>
25
+ <th>Name</th>
26
+ <th>Email</th>
27
+ <th>Role</th>
28
+ <% if current_user %>
29
+ <th>Masquerade As</th>
30
+ <% else %>
31
+ <th>Password</th>
32
+ <% end %>
33
+ </tr>
34
+ <% User.all.each do |user| %>
35
+ <tr>
36
+ <td><%= user.name %></td>
37
+ <td><%= user.email %></td>
38
+ <td><%= user.role %></td>
39
+ <td>
40
+ <% if current_user %>
41
+ <% if user_masquerade? %>
42
+ <% if user.admin? %>
43
+ <%= link_to "Back to #{user.name.capitalize}", back_masquerade_path(User.new) %>
44
+ <% end %>
45
+ <% else %>
46
+ <% if current_user.user? %>
47
+ Cannot masquerade
48
+ <% elsif user.user? %>
49
+ <%= link_to user.name.capitalize, masquerade_path(user) %>
50
+ <% else %>
51
+
52
+ <% end %>
53
+ <% end %>
54
+ <% else %>
55
+ password
56
+ <% end %>
57
+
58
+ </td>
59
+ </td>
60
+ </tr>
61
+ <% end %>
62
+ </table>
63
+
64
+ <% if current_user&.user? && !user_masquerade? %>
65
+ <p class='alert'>Sign in as an admin user</p>
66
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%= link_to 'Home', root_path %>
2
+ <% if current_user %>
3
+ | <%= link_to 'Sign Out', destroy_user_session_path, data: { turbo_method: :delete } %>
4
+ <% else %>
5
+ | <%= link_to 'Sign In', new_user_session_path %>
6
+ <% end%>
@@ -0,0 +1,57 @@
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
+ .admin {
30
+ background-color: pink;
31
+ }
32
+ .user {
33
+ background-color: lightgreen;
34
+ }
35
+ .not-signed-in {
36
+ background-color: lightgrey;
37
+ }
38
+ .admin, .user, .not-signed-in {
39
+ text-align: center;
40
+ }
41
+ </style>
42
+ </head>
43
+
44
+ <body>
45
+ <header>
46
+ <%%= render 'layouts/navbar' %>
47
+ <hr />
48
+ <%%= render 'layouts/alerts' %>
49
+ </header>
50
+ <main>
51
+ <%%= yield %>
52
+ </main>
53
+ <footer>
54
+ <%%= render 'layouts/footer' %>
55
+ </footer>
56
+ </body>
57
+ </html>
@@ -0,0 +1,3 @@
1
+ User.create(email: 'david@site.com', name: 'david', password: 'password', password_confirmation: 'password', role: :admin)
2
+ User.create(email: 'james@site.com', name: 'james', password: 'password', password_confirmation: 'password')
3
+ User.create(email: 'sally@site.com', name: 'sally', password: 'password', password_confirmation: 'password')
@@ -48,6 +48,7 @@
48
48
  "add_browser",
49
49
  "add_chartkick",
50
50
  "add_devise",
51
+ "add_devise_masquerade",
51
52
  "add_dotenv",
52
53
  "add_faker",
53
54
  "add_groupdate",
@@ -113,7 +114,7 @@
113
114
  "name": "ruby",
114
115
  "description": "Path to the Ruby binary of your choice",
115
116
  "type": "string",
116
- "default": "/Users/davidcruwys/.asdf/installs/ruby/3.1.1/bin/ruby",
117
+ "default": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
117
118
  "required": false
118
119
  },
119
120
  {
@@ -403,6 +404,13 @@
403
404
  "default": false,
404
405
  "required": false
405
406
  },
407
+ {
408
+ "name": "add_devise_masquerade",
409
+ "description": "Indicates when to generate add devise masquerade",
410
+ "type": "boolean",
411
+ "default": false,
412
+ "required": false
413
+ },
406
414
  {
407
415
  "name": "add_dotenv",
408
416
  "description": "Indicates when to generate add dotenv",
@@ -2,7 +2,7 @@
2
2
  "options": {
3
3
  "skip_namespace": false,
4
4
  "skip_collision_check": false,
5
- "ruby": "/Users/davidcruwys/.asdf/installs/ruby/3.1.1/bin/ruby",
5
+ "ruby": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
6
6
  "database": "sqlite3",
7
7
  "skip_git": true,
8
8
  "skip_keeps": false,
@@ -26,27 +26,28 @@
26
26
  "main": false,
27
27
  "no_rc": false,
28
28
  "api": false,
29
- "javascript": "importmap",
29
+ "javascript": "esbuild",
30
30
  "skip_bundle": false,
31
- "note": "\"minimal_css_library is optional and will default to water if not specified.\"",
31
+ "note": "",
32
32
  "test": "rspec",
33
33
  "add_acts_as_list": false,
34
34
  "add_administrate": false,
35
- "add_annotate": false,
35
+ "add_annotate": true,
36
36
  "add_avo": false,
37
37
  "add_bcrypt": false,
38
38
  "add_browser": false,
39
39
  "add_chartkick": false,
40
- "add_devise": false,
40
+ "add_devise": true,
41
+ "add_devise_masquerade": true,
41
42
  "add_dotenv": false,
42
- "add_faker": true,
43
+ "add_faker": false,
43
44
  "add_groupdate": false,
44
45
  "add_hexapdf": false,
45
46
  "add_httparty": false,
46
47
  "add_honeybadger": false,
47
48
  "add_lograge": false,
48
49
  "add_minimal_css": true,
49
- "minimal_css_library": "water",
50
+ "minimal_css_library": "water.css",
50
51
  "add_mini_magick": false,
51
52
  "add_motor_admin": false,
52
53
  "add_public_suffix": false,
@@ -55,6 +56,6 @@
55
56
  "add_redcarpet": false,
56
57
  "add_rubocop": false,
57
58
  "add_twilio_ruby": false,
58
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/minimal_css/_.rb"
59
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/devise_masquerade/_.rb"
59
60
  }
60
61
  }
@@ -48,6 +48,7 @@
48
48
  "add_browser",
49
49
  "add_chartkick",
50
50
  "add_devise",
51
+ "add_devise_masquerade",
51
52
  "add_dotenv",
52
53
  "add_faker",
53
54
  "add_groupdate",
@@ -113,7 +114,7 @@
113
114
  "name": "ruby",
114
115
  "description": "Path to the Ruby binary of your choice",
115
116
  "type": "string",
116
- "default": "/Users/davidcruwys/.asdf/installs/ruby/3.1.1/bin/ruby",
117
+ "default": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
117
118
  "required": false
118
119
  },
119
120
  {
@@ -403,6 +404,13 @@
403
404
  "default": false,
404
405
  "required": false
405
406
  },
407
+ {
408
+ "name": "add_devise_masquerade",
409
+ "description": "",
410
+ "type": "boolean",
411
+ "default": false,
412
+ "required": false
413
+ },
406
414
  {
407
415
  "name": "add_dotenv",
408
416
  "description": "",
@@ -6,8 +6,8 @@
6
6
  "pretend": false,
7
7
  "quiet": false,
8
8
  "skip": false,
9
- "ruby": "/Users/davidcruwys/.asdf/installs/ruby/3.1.1/bin/ruby",
10
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/minimal_css/_.rb",
9
+ "ruby": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
10
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/devise_masquerade/_.rb",
11
11
  "database": "sqlite3",
12
12
  "skip_git": true,
13
13
  "skip_keeps": false,
@@ -35,28 +35,29 @@
35
35
  "version": false,
36
36
  "api": false,
37
37
  "minimal": false,
38
- "javascript": "importmap",
38
+ "javascript": "esbuild",
39
39
  "css": "",
40
40
  "skip_bundle": false,
41
- "note": "minimal_css_library is optional and will default to water if not specified.",
41
+ "note": "",
42
42
  "test": "rspec",
43
43
  "add_acts_as_list": false,
44
44
  "add_administrate": false,
45
- "add_annotate": false,
45
+ "add_annotate": true,
46
46
  "add_avo": false,
47
47
  "add_bcrypt": false,
48
48
  "add_browser": false,
49
49
  "add_chartkick": false,
50
- "add_devise": false,
50
+ "add_devise": true,
51
+ "add_devise_masquerade": true,
51
52
  "add_dotenv": false,
52
- "add_faker": true,
53
+ "add_faker": false,
53
54
  "add_groupdate": false,
54
55
  "add_hexapdf": false,
55
56
  "add_httparty": false,
56
57
  "add_honeybadger": false,
57
58
  "add_lograge": false,
58
59
  "add_minimal_css": true,
59
- "minimal_css_library": "water",
60
+ "minimal_css_library": "water.css",
60
61
  "add_mini_magick": false,
61
62
  "add_motor_admin": false,
62
63
  "add_public_suffix": false,
@@ -64,6 +65,7 @@
64
65
  "add_rails_html_sanitizer": false,
65
66
  "add_redcarpet": false,
66
67
  "add_rubocop": false,
67
- "add_twilio_ruby": false
68
+ "add_twilio_ruby": false,
69
+ "notes": "there is a name conflict if the rails application has the same name as the gem and so devise_masquerade has been renamed to devise_masquerade_sample"
68
70
  }
69
71
  }
@@ -35,10 +35,20 @@ module RailsAppGenerator
35
35
  context.options
36
36
  end
37
37
 
38
- def option?(option_name)
39
- value = options[option_name.to_sym]
38
+ def add_flag?(option_name)
39
+ value = options["add_#{option_name}".to_sym]
40
+
41
+ return false if value.nil?
42
+
43
+ value == true
44
+ end
40
45
 
41
- !value.nil?
46
+ def active?(option_name)
47
+ add_flag?(option_name) # || !skip_flag?(option_name)
48
+ end
49
+
50
+ def option?(option_name)
51
+ !options[option_name.to_sym].nil?
42
52
  end
43
53
 
44
54
  def uses?(addon_name = nil)
@@ -56,7 +56,15 @@ module RailsAppGenerator
56
56
 
57
57
  def update_routes_with_devise_controllers
58
58
  in_root do
59
- gsub_file 'config/routes.rb', /devise_for :users/, 'devise_for :users, controllers: { sessions: "users/sessions", registrations: "users/registrations" }'
59
+ controller_config = [
60
+ 'sessions: "users/sessions"',
61
+ 'registrations: "users/registrations"'
62
+ ]
63
+ controller_config << 'masquerades: "users/masquerades"' if active?(:devise_masquerade)
64
+
65
+ devise_for_replacement = "devise_for :users, controllers: { #{controller_config.join(', ')} }"
66
+
67
+ gsub_file 'config/routes.rb', /devise_for :users/, devise_for_replacement
60
68
  end
61
69
  end
62
70
 
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAppGenerator
4
+ # Custom add-ons for RailsAppGenerator
5
+ module AddOns
6
+ # Add DeviseMasquerade to rails application
7
+ class DeviseMasquerade < RailsAppGenerator::Addon
8
+ depends_on :devise
9
+
10
+ required_gem gem.version('devise_masquerade', '1.3.12', 'Devise extension that enables login as another user functionality')
11
+
12
+ def apply
13
+ # NOTE: update_routes_with_devise_controllers is being handled in devise.rb addon
14
+ end
15
+
16
+ # def update_routes_with_devise_controllers
17
+ # in_root do
18
+ # gsub_file 'config/routes.rb', /registrations: "users\/registrations"/, 'registrations: "users/registrations", masquerades: "users/masquerades"'
19
+ # end
20
+ # end
21
+ end
22
+ end
23
+ end
@@ -176,6 +176,7 @@ module RailsAppGenerator
176
176
  add_if(:chartkick) # tested
177
177
  add_if(:continuous_integration) # TODO: needs work
178
178
  add_if(:devise) # tested
179
+ add_if(:devise_masquerade) # tested
179
180
  # docker_compose
180
181
  # docker
181
182
  add_if(:dotenv) # tested
@@ -111,6 +111,7 @@ KConfig.configure do |config|
111
111
  rag.add_option :add_chartkick , type: :boolean, default: false
112
112
  # continuous_integration
113
113
  rag.add_option :add_devise , type: :boolean, default: false
114
+ rag.add_option :add_devise_masquerade , type: :boolean, default: false
114
115
  # docker_compose
115
116
  # docker
116
117
  rag.add_option :add_dotenv , type: :boolean, default: false
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.2.24'
4
+ VERSION = '0.2.25'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.2.24",
3
+ "version": "0.2.25",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.2.24",
9
+ "version": "0.2.25",
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.24",
3
+ "version": "0.2.25",
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_devise_masquerade",
4
+ "destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
5
+ },
6
+ "opts": {
7
+ "notes": "there is a name conflict if the rails application has the same name as the gem and so devise_masquerade has been renamed to devise_masquerade_sample",
8
+ "skip_git": true,
9
+ "skip_test": true,
10
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/devise_masquerade/_.rb",
11
+ "javascript": "esbuild",
12
+ "add_annotate": true,
13
+ "add_devise": true,
14
+ "add_devise_masquerade": 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.24
4
+ version: 0.2.25
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-16 00:00:00.000000000 Z
11
+ date: 2022-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -251,6 +251,16 @@ files:
251
251
  - after_templates/addons/devise/app/views/posts/index.html.erb
252
252
  - after_templates/addons/devise/app/views/posts/show.html.erb
253
253
  - after_templates/addons/devise/db/seeds.rb
254
+ - after_templates/addons/devise_masquerade/_.rb
255
+ - after_templates/addons/devise_masquerade/app/controllers/application_controller.rb
256
+ - after_templates/addons/devise_masquerade/app/controllers/home_controller.rb
257
+ - after_templates/addons/devise_masquerade/app/controllers/users/masquerades_controller.rb
258
+ - after_templates/addons/devise_masquerade/app/models/user.rb
259
+ - after_templates/addons/devise_masquerade/app/views/home/index.html.erb
260
+ - after_templates/addons/devise_masquerade/app/views/layouts/_footer.html.erb
261
+ - after_templates/addons/devise_masquerade/app/views/layouts/_navbar.html.erb
262
+ - after_templates/addons/devise_masquerade/app/views/layouts/application.html.erb
263
+ - after_templates/addons/devise_masquerade/db/seeds.rb
254
264
  - after_templates/addons/dotenv/_.rb
255
265
  - after_templates/addons/dotenv/app/controllers/home_controller.rb
256
266
  - after_templates/addons/dotenv/app/views/home/index.html.erb
@@ -562,7 +572,7 @@ files:
562
572
  - lib/rails_app_generator/addons/chartkick.rb
563
573
  - lib/rails_app_generator/addons/continuous_integration.rb
564
574
  - lib/rails_app_generator/addons/devise.rb
565
- - lib/rails_app_generator/addons/devise_old.rb
575
+ - lib/rails_app_generator/addons/devise_masquerade.rb
566
576
  - lib/rails_app_generator/addons/docker.rb
567
577
  - lib/rails_app_generator/addons/docker_compose.rb
568
578
  - lib/rails_app_generator/addons/dotenv.rb
@@ -639,6 +649,7 @@ files:
639
649
  - profiles/addons/browser.json
640
650
  - profiles/addons/chartkick.json
641
651
  - profiles/addons/devise.json
652
+ - profiles/addons/devise_masquerade.json
642
653
  - profiles/addons/dotenv.json
643
654
  - profiles/addons/faker.json
644
655
  - profiles/addons/hexapdf.json
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RailsAppGenerator
4
- # Custom add-ons for RailsAppGenerator
5
- module AddOns
6
- # Add Devise authentication to rails application
7
- class DeviseXxxx < RailsAppGenerator::Addon
8
- depends_on :active_record
9
-
10
- required_gem gem.version('devise', '4.8.1', 'Flexible authentication solution for Rails with Warden')
11
-
12
- # Requires Testing
13
- def apply
14
- update_development_rb
15
- gsub_file 'config/initializers/devise.rb', /# config.pepper = .+/, " # config.pepper = 'pepper'"
16
- gsub_file 'config/initializers/devise.rb', /# config.secret_key = .+/, " # config.secret_key = 'secret_key'"
17
- db_changes
18
- create_seed
19
- end
20
- end
21
- end
22
- end