Class: LlmMetaClient::Generators::AuthenticationGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/llm_meta_client/authentication/authentication_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



11
12
13
14
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 11

def self.next_migration_number(dirname)
  next_migration_number = current_migration_number(dirname) + 1
  ActiveRecord::Migration.next_migration_number(next_migration_number)
end

Instance Method Details

#add_migrationsObject



58
59
60
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 58

def add_migrations
  migration_template "db/migrate/create_users.rb", "db/migrate/create_users.rb"
end

#configure_authentication_routesObject



44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 44

def configure_authentication_routes
  route <<-RUBY
    devise_for :users, controllers: {
      omniauth_callbacks: "users/omniauth_callbacks",
      sessions: "users/sessions"
    }

    devise_scope :user do
      delete "/logout", to: "users/sessions#destroy", as: :user_logout
      post "/logout", to: "users/sessions#destroy"
    end
  RUBY
end

#create_authentication_fileObject



33
34
35
36
37
38
39
40
41
42
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 33

def create_authentication_file
  template "app/models/user.rb"

  template "app/controllers/users/omniauth_callbacks_controller.rb"
  template "app/controllers/users/sessions_controller.rb"

  template "config/initializers/devise.rb"
  template "config/initializers/omniauth.rb"
  template "config/locales/devise.en.yml"
end

#enable_deviseObject



16
17
18
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 16

def enable_devise
  enable_gem "devise"
end

#enable_omniauthObject



20
21
22
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 20

def enable_omniauth
  enable_gem "omniauth"
end

#enable_omniauth_google_oauth2Object



24
25
26
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 24

def enable_omniauth_google_oauth2
  enable_gem "omniauth-google-oauth2"
end

#enable_omniauth_rails_csrf_protectionObject



28
29
30
# File 'lib/generators/llm_meta_client/authentication/authentication_generator.rb', line 28

def enable_omniauth_rails_csrf_protection
  enable_gem "omniauth-rails_csrf_protection"
end