Class: Authenticate::Generators::InstallGenerator

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

Instance Method Summary collapse

Constructor Details

#initializeInstallGenerator

Returns a new instance of InstallGenerator.



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

def initialize(*)
  super
  assign_names!(model_class_name)
end

Instance Method Details

#copy_migration_filesObject



46
47
48
49
50
# File 'lib/generators/authenticate/install/install_generator.rb', line 46

def copy_migration_files
  copy_migration 'add_authenticate_brute_force_to_users.rb'
  copy_migration 'add_authenticate_timeoutable_to_users.rb'
  copy_migration 'add_authenticate_password_reset_to_users.rb'
end

#create_authenticate_user_migrationObject



38
39
40
41
42
43
44
# File 'lib/generators/authenticate/install/install_generator.rb', line 38

def create_authenticate_user_migration
  if users_table_exists?
    create_add_columns_migration
  else
    create_new_users_migration
  end
end

#create_initializerObject



60
61
62
63
64
65
66
67
68
69
# File 'lib/generators/authenticate/install/install_generator.rb', line 60

def create_initializer
  copy_file 'authenticate.rb', 'config/initializers/authenticate.rb'
  if options[:model]
    inject_into_file(
      'config/initializers/authenticate.rb',
      "  config.user_model = '#{options[:model]}' \n",
      after: "Authenticate.configure do |config|\n"
    )
  end
end

#create_or_inject_into_user_modelObject



30
31
32
33
34
35
36
# File 'lib/generators/authenticate/install/install_generator.rb', line 30

def create_or_inject_into_user_model
  if File.exist? model_path
    inject_into_class(model_path, model_class_name, "  include Authenticate::User\n\n")
  else
    copy_file 'user.rb', 'app/models/user.rb'
  end
end

#inject_into_application_controllerObject



52
53
54
55
56
57
58
# File 'lib/generators/authenticate/install/install_generator.rb', line 52

def inject_into_application_controller
  inject_into_class(
    'app/controllers/application_controller.rb',
    ApplicationController,
    "  include Authenticate::Controller\n\n"
  )
end

#verifyObject



23
24
25
26
27
28
# File 'lib/generators/authenticate/install/install_generator.rb', line 23

def verify
  if options[:model] && !File.exist?(model_path)
    puts "Exiting: the model class you specified, #{options[:model]}, is not found."
    exit 1
  end
end