Class: Boring::Devise::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/boring/devise/install/install_generator.rb

Constant Summary collapse

DEFAULT_DEVISE_MODEL_NAME =
"User"

Instance Method Summary collapse

Instance Method Details

#add_devise_action_mailer_development_configObject



41
42
43
44
45
46
47
48
49
# File 'lib/generators/boring/devise/install/install_generator.rb', line 41

def add_devise_action_mailer_development_config
  say "Adding devise Action Mailer development configuration", :green
  insert_into_file "config/environments/development.rb",
                   "    \\n\n    \\tconfig.action_mailer.default_url_options = { host: 'localhost', port: 3000 }\n  RUBY\n                   after: /Rails.application.configure do/\nend\n",

#add_devise_authentication_filter_to_application_controllerObject



74
75
76
77
78
79
80
81
82
# File 'lib/generators/boring/devise/install/install_generator.rb', line 74

def add_devise_authentication_filter_to_application_controller
  insert_into_file "app/controllers/application_controller.rb",
                   "    \\n\n    \\tbefore_action :authenticate_user!\n  RUBY\n                   after:\n                     /class ApplicationController < ActionController::Base/\nend\n",

#add_devise_gemObject



29
30
31
32
# File 'lib/generators/boring/devise/install/install_generator.rb', line 29

def add_devise_gem
  say "Adding devise gem", :green
  Bundler.with_unbundled_env { run "bundle add devise" }
end

#add_devise_user_modelObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/generators/boring/devise/install/install_generator.rb', line 51

def add_devise_user_model
  return if options[:skip_devise_model]

  say "Adding devise user model", :green
  model_name = options[:model_name] || DEFAULT_DEVISE_MODEL_NAME

  Bundler.with_unbundled_env do
    run "DISABLE_SPRING=1 bundle exec rails generate devise #{model_name}"
  end

  # make the email unique
  if File.exist?("test/fixtures/users.yml")
    email_content = "      one:\n        email: [email protected]\n    FIXTURE\n\n    gsub_file \"test/fixtures/users.yml\",\n              /one: {}/,\n              optimize_indentation(email_content, 0)\n  end\nend\n"

#add_devise_viewsObject



84
85
86
87
88
89
90
91
92
93
# File 'lib/generators/boring/devise/install/install_generator.rb', line 84

def add_devise_views
  return if options[:skip_devise_view]

  say "Adding devise views", :green
  model_name = options[:model_name] || DEFAULT_DEVISE_MODEL_NAME

  Bundler.with_unbundled_env do
    run "DISABLE_SPRING=1 bundle exec rails generate devise:views #{model_name.pluralize}"
  end
end

#generating_devise_defaultsObject



34
35
36
37
38
39
# File 'lib/generators/boring/devise/install/install_generator.rb', line 34

def generating_devise_defaults
  say "Generating devise defaults", :green
  Bundler.with_unbundled_env do
    run "DISABLE_SPRING=1 bundle exec rails generate devise:install"
  end
end

#run_db_migrateObject



95
96
97
98
99
# File 'lib/generators/boring/devise/install/install_generator.rb', line 95

def run_db_migrate
  return unless options[:run_db_migrate]

  Bundler.with_unbundled_env { rails_command "db:migrate" }
end