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

Version Path
lalala-4.0.0.dev.141 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.136 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.135 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.134 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.133 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.132 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.131 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.129 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.128 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.126 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.125 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.124 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.123 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.118 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.116 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.114 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.113 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.111 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.109 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb
lalala-4.0.0.dev.107 vendor/deps/active_admin/lib/generators/active_admin/install/install_generator.rb