Class: RailsSimpleAuth::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/rails_simple_auth/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



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

def self.next_migration_number(dirname)
  ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#add_routesObject



32
33
34
# File 'lib/generators/rails_simple_auth/install/install_generator.rb', line 32

def add_routes
  route 'rails_simple_auth_routes'
end

#copy_migration_fileObject



26
27
28
29
30
# File 'lib/generators/rails_simple_auth/install/install_generator.rb', line 26

def copy_migration_file
  return if options[:skip_migration]

  migration_template 'migration.rb', 'db/migrate/add_rails_simple_auth.rb'
end

#create_initializerObject



22
23
24
# File 'lib/generators/rails_simple_auth/install/install_generator.rb', line 22

def create_initializer
  template 'initializer.rb', 'config/initializers/rails_simple_auth.rb'
end

#show_instructionsObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/generators/rails_simple_auth/install/install_generator.rb', line 36

def show_instructions
  say ''
  say 'RailsSimpleAuth installed successfully!', :green
  say ''
  say 'Next steps:'
  say '  1. Review and edit the migration: db/migrate/xxx_add_rails_simple_auth.rb'
  say '  2. Run: rails db:migrate'
  say "  3. Add authentication to your #{options[:user_model]} model:"
  say ''
  say "     class #{options[:user_model]} < ApplicationRecord"
  say '       authenticates_with :confirmable, :magic_linkable'
  say '     end'
  say ''
  say '     Available modules: :confirmable, :magic_linkable, :oauth, :temporary'
  say ''
  say '  4. Add before_action to protect routes:'
  say ''
  say '     class ApplicationController < ActionController::Base'
  say '       before_action :require_authentication'
  say '     end'
  say ''
  say 'Optional generators:'
  say '  rails generate rails_simple_auth:views           # Copy views for customization'
  say '  rails generate rails_simple_auth:css             # Copy CSS for styling'
  say '  rails generate rails_simple_auth:temporary_users # Add guest account support'
  say ''
end