class Teleport::DeviseGenerator
Public Instance Methods
add()
click to toggle source
# File lib/generators/teleport/devise.rb, line 5 def add gem 'devise' gem 'cancancan' gem_group :development do gem 'letter_opener' end Bundler.with_clean_env do run "bundle install" end generate 'cancan:ability' generate 'devise:install' generate 'devise:views' insert_into_file "config/environments/development.rb", before: "end\n" do %Q{ config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } config.action_mailer.delivery_method = :letter_opener } end insert_into_file 'app/controllers/application_controller.rb', after: "protect_from_forgery with: :exception\n" do %Q{ before_action :authenticate_user! rescue_from CanCan::AccessDenied do |exception| redirect_to root_url, alert: exception.message end } end copy_file 'devise/devise.ru.yml', 'config/locales/devise.ru.yml' model = ask "Type MODEL to bootstrap devise:" generate "devise #{model}" with_oauth = ask 'Add oauth? (y/n)' generate 'devise_oauth' if with_oauth =~ /y/ end