Class: EasyAdmin::Permissions::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- EasyAdmin::Permissions::Generators::InstallGenerator
- Includes:
- ActiveRecord::Generators::Migration
- Defined in:
- lib/generators/easy_admin/permissions/install_generator.rb
Instance Method Summary collapse
- #create_base_policy ⇒ Object
- #create_initializer ⇒ Object
- #create_migrations ⇒ Object
- #create_models ⇒ Object
- #create_seeds ⇒ Object
- #show_instructions ⇒ Object
- #update_user_model ⇒ Object
Instance Method Details
#create_base_policy ⇒ Object
33 34 35 36 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 33 def create_base_policy template 'policies/application_policy.rb', 'app/policies/application_policy.rb' template 'policies/user_policy.rb', "app/policies/#{[:user_model].underscore}_policy.rb" end |
#create_initializer ⇒ Object
29 30 31 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 29 def create_initializer template 'initializers/permissions.rb', 'config/initializers/easy_admin_permissions.rb' end |
#create_migrations ⇒ Object
24 25 26 27 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 24 def create_migrations migration_template 'migrations/create_permission_tables.rb', 'db/migrate/create_easy_admin_permission_tables.rb' end |
#create_models ⇒ Object
18 19 20 21 22 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 18 def create_models template 'models/role.rb', 'app/models/easy_admin/permissions/role.rb' template 'models/user_role.rb', 'app/models/easy_admin/permissions/user_role.rb' # No permission or role_permission models needed - using JSON field approach end |
#create_seeds ⇒ Object
44 45 46 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 44 def create_seeds template 'seeds/permissions.rb', 'db/seeds/easy_admin_permissions.rb' end |
#show_instructions ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 48 def show_instructions say "\n" + "="*60 say "EasyAdmin Permission Engine installed successfully!" say "="*60 say "\nNext steps:" say "1. Run: rails db:migrate" say "2. Add to your seeds: load Rails.root.join('db/seeds/easy_admin_permissions.rb')" say "3. Run: rails db:seed" say "4. Configure permissions in config/initializers/easy_admin_permissions.rb" say "5. Add action_policy gem to your Gemfile: gem 'action_policy'" say "6. Run: bundle install" say "\nFor more information, see the documentation." say "="*60 + "\n" end |
#update_user_model ⇒ Object
38 39 40 41 42 |
# File 'lib/generators/easy_admin/permissions/install_generator.rb', line 38 def update_user_model inject_into_class "app/models/#{[:user_model].underscore}.rb", [:user_model].classify do " include EasyAdmin::Permissions::UserExtensions\n" end end |