It seems that BCrypt::Password.create(plaintext) would internally use BCrypt::Engine to generate a salt. Maybe that can simplify the library and have an even smaller footprint on the DB?
Maybe you have researched this and it doesn't make sense...
Here are the docs:
Yes, I believe this is what SecurePassword does. This way we don't have to store a salt. I'll mark this for being added.
I have implemented this already. Will send a pull request just in case it makes things any easier on your side.