class Draft::DeviseGenerator
Public Instance Methods
check_for_existing_devise_model()
click to toggle source
# 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_install()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 22 def devise_install unless initializer_exists? invoke "devise:install" end end
enable_scoped_views()
click to toggle source
# 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_model()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 36 def generate_devise_model invoke "devise" end
generate_devise_views()
click to toggle source
# 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
Private Instance Methods
add_additional_fields_for_registration(devise_service)
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 55 def add_additional_fields_for_registration(devise_service) scope = name.underscore.pluralize form_fields_to_add = devise_service.form_fields_to_add if File.exist?("app/views/#{scope}/registrations/new.html.erb") inject_into_file("app/views/#{scope}/registrations/new.html.erb", form_fields_to_add, before: devise_service.sign_in_resource_button_block) end if File.exist?("app/views/#{scope}/registrations/edit.html.erb") inject_into_file("app/views/#{scope}/registrations/edit.html.erb", form_fields_to_add, before: devise_service.update_resource_button_block) end end
add_additional_views_through_security(devise_service)
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 49 def add_additional_views_through_security(devise_service) inject_into_file("app/controllers/application_controller.rb", devise_service.security_field_block, after: devise_service.protect_from_forgery_code) end
initializer_exists?()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 84 def initializer_exists? File.exist?(File.join(destination_root, initializer_path)) end
initializer_path()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 88 def initializer_path @initializer_path ||= File.join("config", "initializers", "devise.rb") end
model_exists?()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 76 def model_exists? File.exist?(File.join(destination_root, model_path)) end
model_path()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 80 def model_path @model_path ||= File.join("app", "models", "#{file_path}.rb") end
with_sentinels?()
click to toggle source
# File lib/generators/draft/devise/devise_generator.rb, line 72 def with_sentinels? options[:with_sentinels] end