Class: Rodauth::Rails::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/rodauth/install_generator.rb

Constant Summary collapse

SEQUEL_ADAPTERS =
{
  "sqlite3"         => "sqlite",
  "oracle_enhanced" => "oracle", # https://github.com/rsim/oracle-enhanced
  "sqlserver"       => "tinytds", # https://github.com/rails-sqlserver/activerecord-sqlserver-adapter
}
MAILER_VIEWS =
%w[
  email_auth
  password_changed
  reset_password
  unlock_account
  verify_account
  verify_login_change
]

Instance Method Summary collapse

Instance Method Details

#create_account_modelObject



61
62
63
# File 'lib/generators/rodauth/install_generator.rb', line 61

def 
  template "app/models/account.rb"
end

#create_fixturesObject



75
76
77
78
79
80
81
82
83
84
# File 'lib/generators/rodauth/install_generator.rb', line 75

def create_fixtures
  test_unit_options = ::Rails.application.config.generators.options[:test_unit]
  if test_unit_options[:fixture] && test_unit_options[:fixture_replacement].nil?
    if ::Rails.application.config.generators.options[:rails][:test_framework] == :rspec
      template "test/fixtures/accounts.yml", "spec/fixtures/accounts.yml"
    else
      template "test/fixtures/accounts.yml", "test/fixtures/accounts.yml"
    end
  end
end

#create_mailerObject



65
66
67
68
69
70
71
72
73
# File 'lib/generators/rodauth/install_generator.rb', line 65

def create_mailer
  return unless defined?(ActionMailer)

  template "app/mailers/rodauth_mailer.rb"

  MAILER_VIEWS.each do |view|
    copy_file "app/views/rodauth_mailer/#{view}.text.erb"
  end
end

#create_rodauth_appObject



52
53
54
55
# File 'lib/generators/rodauth/install_generator.rb', line 52

def create_rodauth_app
  template "app/misc/rodauth_app.rb"
  template "app/misc/rodauth_main.rb"
end

#create_rodauth_controllerObject



57
58
59
# File 'lib/generators/rodauth/install_generator.rb', line 57

def create_rodauth_controller
  template "app/controllers/rodauth_controller.rb"
end

#create_rodauth_initializerObject



41
42
43
# File 'lib/generators/rodauth/install_generator.rb', line 41

def create_rodauth_initializer
  template "config/initializers/rodauth.rb"
end

#create_rodauth_migrationObject



37
38
39
# File 'lib/generators/rodauth/install_generator.rb', line 37

def create_rodauth_migration
  invoke "rodauth:migration", migration_features, name: "create_rodauth"
end

#create_sequel_initializerObject



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

def create_sequel_initializer
  return unless defined?(ActiveRecord::Railtie)
  return if defined?(Sequel) && !Sequel::DATABASES.empty?

  template "config/initializers/sequel.rb"
end

#show_instructionsObject



86
87
88
# File 'lib/generators/rodauth/install_generator.rb', line 86

def show_instructions
  readme "INSTRUCTIONS" if behavior == :invoke
end