Rake task to create admin and regular users (with prompting!)
require 'highline'
namespace :db do
namespace :setup do
desc "create default admin user"
task :admin => :environment do
admin = User.create(
:login => "admin",
:name => "My Admin",
:email => "webdev@example.com",
:password => "Password01",
:password_confirmation => "Password01"
)
admin.activated_at = 5.days.ago
admin.activation_code = nil
admin.save false
end
desc "Create user accounts with rake, prompting for user name and password."
task :user => :environment do
ui = HighLine.new
name = ui.ask("Full Human name: ")
email = ui.ask("Email: ")
login = ui.ask("Login name: ")
password = ui.ask("Enter password: ") { |q| q.echo = false }
confirm = ui.ask("Confirm password: ") { |q| q.echo = false }
user = User.new(:name => name, :email => email, :login => login, :password => password, :password_confirmation => confirm)
if user.save false
puts "User account '#{login}' created."
else
puts
puts "Problem creating user account:"
puts user.errors.full_messages
end
end
end
end
Original snippet written by Jon Kinney
Last updated at 08:05 AM on Aug 08, 2008