Sha256: 01ce25934c856a1e90e4fbc80217880f5d77c0da98c2ba6909d435447a22cfef
Contents?: true
Size: 1.62 KB
Versions: 46
Compression:
Stored size: 1.62 KB
Contents
require 'rails/generators/active_record' module ActiveAdmin module Generators class InstallGenerator < ActiveRecord::Generators::Base desc "Installs Active Admin and generates the necessary migrations" argument :name, :type => :string, :default => "AdminUser" hook_for :users, :default => "devise", :desc => "Admin user generator to run. Skip with --skip-users" def self.source_root @_active_admin_source_root ||= File.expand_path("../templates", __FILE__) end def copy_initializer @underscored_user_name = name.underscore template 'active_admin.rb.erb', 'config/initializers/active_admin.rb' end def setup_directory empty_directory "app/admin" template 'dashboard.rb', 'app/admin/dashboard.rb' if options[:users].present? @user_class = name template 'admin_user.rb.erb', "app/admin/#{name.underscore}.rb" end end def setup_routes if ARGV.include? "--skip-users" route "ActiveAdmin.routes(self)" else # Ensure Active Admin routes occur after Devise routes so that Devise has higher priority inject_into_file "config/routes.rb", "\n ActiveAdmin.routes(self)", :after => /devise_for.*/ end end def create_assets generate "active_admin:assets" end def create_migrations Dir["#{self.class.source_root}/migrations/*.rb"].sort.each do |filepath| name = File.basename(filepath) migration_template "migrations/#{name}", "db/migrate/#{name.gsub(/^\d+_/,'')}" sleep 1 end end end end end
Version data entries
46 entries across 46 versions & 2 rubygems