Class: Monban::Generators::PasswordResetGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/monban/password_reset/password_reset_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dir) ⇒ Object



36
37
38
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 36

def self.next_migration_number(dir)
  ActiveRecord::Generators::Base.next_migration_number(dir)
end

Instance Method Details

#add_config_optionsObject



9
10
11
12
13
14
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 9

def add_config_options
  %w(development test production).each do |env|
    host = ask("What is the host to use for #{env}?")
    application(%{config.action_mailer.default_url_options = { :host => "#{host}" }}, env: env)
  end
end

#add_controllersObject



32
33
34
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 32

def add_controllers
  template 'app/controllers/password_resets_controller.rb', 'app/controllers/password_resets_controller.rb'
end

#add_mailersObject



28
29
30
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 28

def add_mailers
  template 'app/mailers/password_reset_mailer.rb', 'app/mailers/password_reset_mailer.rb'
end

#add_modelObject



40
41
42
43
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 40

def add_model
  template 'app/models/password_reset.rb', 'app/models/password_reset.rb'
  migration_template "db/migrate/create_password_resets.rb", "db/migrate/create_password_resets.rb"
end

#add_routesObject



16
17
18
19
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 16

def add_routes
  route("resources :password_resets, only: [:new, :create]")
  route("resources :users, only: [:none] do\n    resources :password_resets, only: [:edit, :update]\n  end")
end

#add_viewsObject



21
22
23
24
25
26
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 21

def add_views
  copy_file 'app/views/password_resets/create.html.erb'
  copy_file 'app/views/password_resets/edit.html.erb'
  copy_file 'app/views/password_resets/new.html.erb'
  copy_file 'app/views/password_reset_mailer/change_password.html.erb'
end

#display_readmeObject



45
46
47
# File 'lib/generators/monban/password_reset/password_reset_generator.rb', line 45

def display_readme
  readme 'password_reset_readme'
end