Class: DeviseRemote::InstallGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- DeviseRemote::InstallGenerator
- Defined in:
- lib/generators/devise_remote/install_generator.rb
Instance Method Summary collapse
- #add_authentication ⇒ Object
- #add_initializer ⇒ Object
- #add_login_to_devise ⇒ Object
- #add_routes ⇒ Object
- #generate_model ⇒ Object
- #install_devise ⇒ Object
- #update_model ⇒ Object
Instance Method Details
#add_authentication ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/generators/devise_remote/install_generator.rb', line 22 def add_authentication controller_path = 'app/controllers/application_controller.rb' if File.exist?(controller_path) inject_into_file controller_path, after: "class ApplicationController < ActionController::Base\n" do "\t# Added by DeviseRemote to authenticate all incoming requests\n" "\tbefore_action :authenticate_user!\n" end else say_status 'warning', " ApplicationController not found.\n ===============================================================================\n You will need to add the following to one of your controllers:\n\n before_action :authenticate_user!\n\n See the Devise's README for more information.\n ===============================================================================\n TEXT\n end\nend\n".strip_heredoc, :yellow |
#add_initializer ⇒ Object
18 19 20 |
# File 'lib/generators/devise_remote/install_generator.rb', line 18 def add_initializer template 'devise_remote.erb', 'config/initializers/devise_remote.rb' end |
#add_login_to_devise ⇒ Object
14 15 16 |
# File 'lib/generators/devise_remote/install_generator.rb', line 14 def add_login_to_devise invoke 'devise_remote:login_migration', [name] end |
#add_routes ⇒ Object
51 52 53 54 55 |
# File 'lib/generators/devise_remote/install_generator.rb', line 51 def add_routes inject_into_file 'config/routes.rb', after: 'Rails.application.routes.draw do' do "\n\tmount DeviseRemote::Engine => '/devise_remote'\n" end end |
#generate_model ⇒ Object
10 11 12 |
# File 'lib/generators/devise_remote/install_generator.rb', line 10 def generate_model invoke 'devise', [name] end |
#install_devise ⇒ Object
6 7 8 |
# File 'lib/generators/devise_remote/install_generator.rb', line 6 def install_devise invoke 'devise:install' end |
#update_model ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/generators/devise_remote/install_generator.rb', line 43 def update_model model_path = "app/models/#{name.downcase}.rb" comment_lines model_path, /able/ inject_into_file model_path, after: 'class User < ApplicationRecord' do "\n\tdevise :http_header_authenticatable\n" end end |