Class: ZenAdmin::Generators::RbacInstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- ZenAdmin::Generators::RbacInstallGenerator
- Includes:
- ActiveRecord::Generators::Migration
- Defined in:
- lib/generators/zen_admin/rbac_install/rbac_install_generator.rb
Instance Method Summary collapse
- #add_seeds ⇒ Object
- #copy_migrations ⇒ Object
- #enable_rbac_config ⇒ Object
- #invoke_base_install ⇒ Object
- #show_readme ⇒ Object
Instance Method Details
#add_seeds ⇒ Object
37 38 39 40 41 |
# File 'lib/generators/zen_admin/rbac_install/rbac_install_generator.rb', line 37 def add_seeds append_to_file "db/seeds.rb" do ERB.new(File.read(File.("templates/seeds.rb.erb", __dir__))).result end end |
#copy_migrations ⇒ Object
15 16 17 |
# File 'lib/generators/zen_admin/rbac_install/rbac_install_generator.rb', line 15 def copy_migrations migration_template "create_zen_admin_rbac.rb.erb", "db/migrate/create_zen_admin_rbac.rb" end |
#enable_rbac_config ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/generators/zen_admin/rbac_install/rbac_install_generator.rb', line 19 def enable_rbac_config path = "config/initializers/zen_admin.rb" if File.exist?(path) # 如果已经存在,则更新为 true if File.read(path).include?("config.rbac_enable") gsub_file path, /config\.rbac_enable\s*=\s*.*/, "config.rbac_enable = true" else # 插入在 configure 块的下一行 inject_into_file path, after: "ZenAdmin.configure do |config|\n" do <<-RUBY # 开启 RBAC 数据库验证模式 config.rbac_enable = true RUBY end end end end |
#invoke_base_install ⇒ Object
11 12 13 |
# File 'lib/generators/zen_admin/rbac_install/rbac_install_generator.rb', line 11 def invoke_base_install invoke "zen_admin:install" end |
#show_readme ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/generators/zen_admin/rbac_install/rbac_install_generator.rb', line 43 def show_readme say "\nZenAdmin RBAC 迁移文件已生成!", :green say "接下来请运行: ", :yellow say " bin/rails db:migrate", :white say "然后创建管理员账号: ", :yellow say " bin/rails g zen_admin:admin_user", :white end |