Class: DeviseTokenAuthenticatable::InitializerGenerator

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

Constant Summary collapse

SESSIONS_COMMENT_LINE =

Déclaration des constantes

"# SessionsController generated by devise_token_authenticatable\n\n"
REGISTRATIONS_COMMENT_LINE =
"# RegistrationsController generated by devise_token_authenticatable\n\n"

Instance Method Summary collapse

Instance Method Details

#create_registrations_controllerObject

Initialisation RegistrationsController



43
44
45
46
# File 'lib/generators/devise_token_authenticatable/initializer_generator.rb', line 43

def create_registrations_controller
  create_file 'app/controllers/users/registrations_controller.rb', InitializerGenerator::REGISTRATIONS_COMMENT_LINE
  inject_into_file "app/controllers/users/registrations_controller.rb", write_registrations_controller, after: InitializerGenerator::REGISTRATIONS_COMMENT_LINE
end

#create_sessions_controllerObject

Initialisation SessionsController



22
23
24
25
26
27
# File 'lib/generators/devise_token_authenticatable/initializer_generator.rb', line 22

def create_sessions_controller
  # Possible de le faire en une seule ligne avec un create_file(file, content)
  # J'ai utilisé deux lignes pour la PR pour utiliser les fonctions de Thor
  create_file 'app/controllers/users/sessions_controller.rb', InitializerGenerator::SESSIONS_COMMENT_LINE
  inject_into_file "app/controllers/users/sessions_controller.rb", write_sessions_controller, after: InitializerGenerator::SESSIONS_COMMENT_LINE
end

#write_registrations_controllerObject



48
49
50
51
52
53
54
# File 'lib/generators/devise_token_authenticatable/initializer_generator.rb', line 48

def write_registrations_controller
"class Users::RegistrationsController < Devise::RegistrationsController\n  prepend_before_action :set_user_access_token!, only: %i[edit update destroy]\nend\n"
end

#write_sessions_controllerObject



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/devise_token_authenticatable/initializer_generator.rb', line 29

def write_sessions_controller
"class Users::SessionsController < Devise::SessionsController\n  def create\nsuper do\n  set_user_access_token!\nend\n  end\nend\n"
end