It looks like you're asking if the passphrase is blank? instead of nil - if the secret key is not encrypted (being secured through other means), then the data can't be recovered with the current version of your code :)
Docs are a bit unclear on this one. The data that can be encrypted with asymmetric-only is limited to the size of the key minus 11 bytes. Particularly:
2048 bits equals 256 bytes
245 bytes is the limit of the INCOMING data
The encrypted data will be longer than the key, and won't fit into a 255 byte column
I understand that "a string field is unlikely to be able to store the result"... but more detail would be clearer.
I spelled this out, and the 186 byte limit if using Base64 in the orignal post, but neglected to carry that language over into the docs. I've updated the docs to make it clearer.
This was fixed in version 0.2.0 (0.2.1 is current). However, github gems have been broken since their move to Rackspace, so they haven't updated their copy. You can get the current version from Gemcutter or RubyForge.
I've updated the code to support an unencrypted private key by setting the password to an empty string. Grab version 0.3.0.
I'm not sure I like using a blank password to imply an unencrypted key, so I may rework this in the future.
As part of this change I make it possible to also pass the keys as a string or a OpenSSL::PKey::RSA object, in addition to a file path.