Class: Draft::DeviseGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::ResourceHelpers
Defined in:
lib/generators/draft/devise/devise_generator.rb

Instance Method Summary collapse

Instance Method Details

#check_for_existing_devise_modelObject



14
15
16
17
18
19
20
# File 'lib/generators/draft/devise/devise_generator.rb', line 14

def check_for_existing_devise_model
  return if behavior != :invoke
  if model_exists?
    say "\nYou already have a model called #{class_name}! Halting generator.\n"
    abort
  end
end

#devise_installObject



22
23
24
25
26
# File 'lib/generators/draft/devise/devise_generator.rb', line 22

def devise_install
  unless initializer_exists?
    invoke "devise:install"
  end
end

#enable_scoped_viewsObject



28
29
30
31
32
33
34
# File 'lib/generators/draft/devise/devise_generator.rb', line 28

def enable_scoped_views
  path = "config/initializers/devise.rb"
  uncomment_lines(path, /.*config.scoped_views = false/)
  code_to_replace = "config.scoped_views = false"
  replace_with = "config.scoped_views = true"
  gsub_file(path, code_to_replace, replace_with)
end

#generate_devise_modelObject



36
37
38
# File 'lib/generators/draft/devise/devise_generator.rb', line 36

def generate_devise_model
  invoke "devise"
end

#generate_devise_viewsObject



40
41
42
43
44
45
# File 'lib/generators/draft/devise/devise_generator.rb', line 40

def generate_devise_views
  invoke "draft:devise:views"
  devise_service = ::DraftGenerators::DeviseCustomizationService.new(attributes)
  add_additional_views_through_security(devise_service)
  add_additional_fields_for_registration(devise_service)
end