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



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

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



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

def create_authenticate_user_migration
  if users_table_exists?
    create_add_columns_migration
  else
    create_new_users_migration
  end
end

#create_initializerObject



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

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
37
38
# 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
    @model_base_class = model_base_class
    # copy_file 'user.rb', 'app/models/user.rb'
    template 'user.rb.erb', 'app/models/user.rb'
  end
end

#inject_into_application_controllerObject



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

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