Class: EasyAdmin::Generators::AuthGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/easy_admin/auth_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(path) ⇒ Object



13
14
15
# File 'lib/generators/easy_admin/auth_generator.rb', line 13

def self.next_migration_number(path)
  Time.current.utc.strftime("%Y%m%d%H%M%S")
end

Instance Method Details

#add_devise_initializerObject



25
26
27
# File 'lib/generators/easy_admin/auth_generator.rb', line 25

def add_devise_initializer
  copy_file 'devise.rb', 'config/initializers/easy_admin_devise.rb'
end

#add_routesObject



29
30
31
# File 'lib/generators/easy_admin/auth_generator.rb', line 29

def add_routes
  route "mount EasyAdmin::Engine => '/admin', as: 'easy_admin'"
end

#copy_migrationObject



17
18
19
20
21
22
23
# File 'lib/generators/easy_admin/auth_generator.rb', line 17

def copy_migration
  migration_template(
    'create_easy_admin_admin_users.rb',
    'db/migrate/create_easy_admin_admin_users.rb',
    migration_version: migration_version
  )
end

#create_default_adminObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/generators/easy_admin/auth_generator.rb', line 33

def create_default_admin
  create_file 'db/seeds/easy_admin.rb', <<~RUBY
    # Create default EasyAdmin admin user
    if Rails.env.development?
      EasyAdmin::AdminUser.find_or_create_by(email: '[email protected]') do |admin|
        admin.password = 'password'
        admin.password_confirmation = 'password'
        admin.first_name = 'Admin'
        admin.last_name = 'User'
        admin.confirmed_at = Time.current
      end
      
      puts "EasyAdmin default admin user created!"
      puts "Email: [email protected]"
      puts "Password: password"
    end
  RUBY
  
  append_to_file 'db/seeds.rb', <<~RUBY
    
    # Load EasyAdmin seeds
    load Rails.root.join('db/seeds/easy_admin.rb')
  RUBY
end

#show_readmeObject



58
59
60
# File 'lib/generators/easy_admin/auth_generator.rb', line 58

def show_readme
  readme 'AUTH_README'
end