Class: SimpleLogin::Generators::SimpleLoginGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- SimpleLogin::Generators::SimpleLoginGenerator
- Defined in:
- lib/rails/generators/simple_login/simple_login_generator.rb
Instance Method Summary collapse
- #add_gems ⇒ Object
- #create_user ⇒ Object
- #generate_user ⇒ Object
- #insert_general_methods ⇒ Object
- #insert_routes ⇒ Object
Instance Method Details
#add_gems ⇒ Object
43 44 45 |
# File 'lib/rails/generators/simple_login/simple_login_generator.rb', line 43 def add_gems gem("bcrypt-ruby") end |
#create_user ⇒ Object
7 8 9 10 11 |
# File 'lib/rails/generators/simple_login/simple_login_generator.rb', line 7 def create_user generate("model", "user email:string password_digest:string auth_token:string password_reset_token:string password_reset_sent_at:datetime") rake("db:migrate") remove_file "user.rb", "app/models/user.rb" end |
#generate_user ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/rails/generators/simple_login/simple_login_generator.rb', line 13 def generate_user # Copy the controllers for user, sessions and password_reset directory "controllers", "app/controllers/" directory "mailers", "app/mailers/" directory "models", "app/models/" directory "views", "app/views/" end |
#insert_general_methods ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rails/generators/simple_login/simple_login_generator.rb', line 21 def insert_general_methods inject_into_file "app/controllers/application_controller.rb", after: "protect_from_forgery" do a = "\n\n private\n\n def current_user\n" b = " @current_user ||= User.find_by_auth_token!(cookies[:auth_token]) if cookies[:auth_token]\n" c = " end\n" d = "\n helper_method :current_user\n\n" e = " def authorize\n" f = " redirect_to login_url, alert: 'Not authorized. Please login.' if current_user.nil?\n" g = " end\n" a+b+c+d+e+f+g end end |
#insert_routes ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/rails/generators/simple_login/simple_login_generator.rb', line 34 def insert_routes route("match 'signup', to: 'users#new', as: 'signup'") route("match 'login', to: 'sessions#new', as: 'login'") route("match 'logout', to: 'sessions#destroy', as: 'logout'") route("resources :users") route("resources :sessions") route("resources :password_resets") end |