Class: ActiveAdminRole::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Helper, Rails::Generators::Migration
Defined in:
lib/generators/active_admin_role/install_generator.rb

Instance Method Summary collapse

Methods included from Helper

included

Instance Method Details

#configure_active_adminObject



37
38
39
40
41
# File 'lib/generators/active_admin_role/install_generator.rb', line 37

def configure_active_admin
  gsub_file "config/initializers/active_admin.rb",
            "# config.authorization_adapter = ActiveAdmin::CanCanAdapter",
            "config.authorization_adapter = ActiveAdmin::CanCanAdapter"
end

#configure_admin_user_fileObject



47
48
49
50
51
# File 'lib/generators/active_admin_role/install_generator.rb', line 47

def configure_admin_user_file
  inject_into_file "app/admin/#{model_file_path}.rb",
                   "  role_changeable\n",
                   after: "ActiveAdmin.register #{model_class_name} do\n"
end

#configure_modelObject



22
23
24
25
# File 'lib/generators/active_admin_role/install_generator.rb', line 22

def configure_model
  generate :"active_admin:install #{model_class_name}" unless model_class_name.safe_constantize
  inject_into_model
end

#copy_admin_permission_fileObject



43
44
45
# File 'lib/generators/active_admin_role/install_generator.rb', line 43

def copy_admin_permission_file
  template "admin/permission.rb", "app/admin/permission.rb"
end

#copy_initializer_fileObject



18
19
20
# File 'lib/generators/active_admin_role/install_generator.rb', line 18

def copy_initializer_file
  template "initializer.rb", "config/initializers/active_admin_role.rb"
end

#copy_migration_filesObject



27
28
29
30
31
# File 'lib/generators/active_admin_role/install_generator.rb', line 27

def copy_migration_files
  migration_template "migration/add_role_to_admin_users.rb", "db/migrate/add_role_to_#{model_class_name.tableize}.rb", migration_class_name: migration_class_name
  migration_template "migration/create_active_admin_managed_resources.rb", "db/migrate/create_active_admin_managed_resources.rb", migration_class_name: migration_class_name
  migration_template "migration/create_active_admin_permissions.rb", "db/migrate/create_active_admin_permissions.rb", migration_class_name: migration_class_name
end

#copy_model_fileObject



33
34
35
# File 'lib/generators/active_admin_role/install_generator.rb', line 33

def copy_model_file
  template "model/ability.rb", "app/models/ability.rb"
end