# Application template recipe for the rails3_devise_wizard. Check for a newer version here: # https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/add_user_name.rb after_bundler do say_wizard "AddUserName recipe running 'after bundler'" # Add a 'name' attribute to the User model if recipes.include? 'mongoid' gsub_file 'app/models/user.rb', /end/ do <<-RUBY field :name validates_presence_of :name validates_uniqueness_of :name, :email, :case_sensitive => false attr_accessible :name, :email, :password, :password_confirmation, :remember_me end RUBY end elsif recipes.include? 'mongo_mapper' # Using MongoMapper? Create an issue, suggest some code, and I'll add it elsif recipes.include? 'active_record' gsub_file 'app/models/user.rb', /end/ do <<-RUBY validates_presence_of :name validates_uniqueness_of :name, :email, :case_sensitive => false attr_accessible :name, :email, :password, :password_confirmation, :remember_me end RUBY end else # Placeholder for some other ORM end if recipes.include? 'devise' unless recipes.include? 'haml' # Generate Devise views (unless you are using Haml) run 'rails generate devise:views' # Modify Devise views to add 'name' inject_into_file "app/views/devise/registrations/edit.html.erb", :after => "<%= devise_error_messages! %>\n" do <<-ERB
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :name %>
<%= f.text_field :name %>