class ActiveadminTherole::Generators::InstallGenerator

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/activeadmin_therole/install/install_generator.rb, line 7
def self.next_migration_number(dirname)
  orm = Rails.configuration.generators.options[:rails][:orm]
  require "rails/generators/#{orm}"
  "#{orm.to_s.camelize}::Generators::Base".constantize.next_migration_number(dirname)
end

Public Instance Methods

activeadmin_install() click to toggle source

Action: generate active_admin:install

# File lib/generators/activeadmin_therole/install/install_generator.rb, line 14
def activeadmin_install
  if File.exists?(File.join(destination_root, "config", "initializers", "active_admin.rb"))
    log :generate, "No need to install ActiveAdmin, already done."
  else
    generate "active_admin:install"
  end
end
install() click to toggle source

Execute all steps for Devise, ActiveAdmin and TheRole

# File lib/generators/activeadmin_therole/install/install_generator.rb, line 50
def install
  if File.exists?(File.join(destination_root, "app", "admin", "roles.rb"))
    log :generate, "No need to copy admin/roles.rb, already done."
  else
    # copy our section
    copy_file "app/admin/roles.rb", "app/admin/roles.rb"
  end
end
invoke_db_migrate() click to toggle source
# File lib/generators/activeadmin_therole/install/install_generator.rb, line 45
def invoke_db_migrate
  rake "db:migrate" if ActiveRecord::Migrator.needs_migration?
end
therole_install() click to toggle source

Action: generate the_role install

# File lib/generators/activeadmin_therole/install/install_generator.rb, line 32
def therole_install
  if File.exists?(File.join(destination_root, "config", "initializers", "the_role.rb"))
    log :generate, "No need to install TheRole, already done."
  else
    generate "the_role", "install"
    rake "the_role_engine:install:migrations"
    migration_template 'db/migrate/add_role_id_to_user.rb', 'db/migrate/add_role_id_to_user.rb'
    inject_into_file File.join(destination_root, "app", "models", "user.rb"), "\n\tinclude TheRoleUserModel\n\n", after: "class User < ActiveRecord::Base\n"
    rake "db:migrate" if ActiveRecord::Migrator.needs_migration?
    generate "the_role", "admin"
  end
end
user_model_create() click to toggle source

Action: generate devise User

# File lib/generators/activeadmin_therole/install/install_generator.rb, line 23
def user_model_create
  if File.exists?(File.join(destination_root, "app", "models", "user.rb"))
    log :generate, "No need to create User model, already done."
  else
    generate "devise", "User"
  end
end