Devise経由で認証するアプリで使用するために、データベースに一括割り当てしたいユーザー名/パスワードのリストがあると仮定しています。
Devise はデフォルトで BCrypt を使用します (gem があります)
require 'bcrypt'
class User < ActiveRecord::Base
# users.password_hash in the database is a :string
include BCrypt
def password
@password ||= Password.new(password_hash)
end
def password=(new_password)
@password = Password.create(new_password)
self.password_hash = @password
end
end
たとえば、リストにユーザーのインスタンスを作成し、Rake タスクでデータベースに保存できます。
@user = User.new
@user.username = "foobar"
@user.password = "password"
@user.save