After some internal discussion with engineering; we would like you to separate the foreign and inverse key (the new options) into a separate module / gem (which you are free to maintain) similar to what was done with ripple-encryption.
Also; I would add some warnings in the specs (as comments); making it more clear that this should only be used for low throughput use cases and loose consistency requirements. It must be clear in those comments that multiple object transactions are not atomic and can not be guaranteed to be such by the underlying data store at this time.
After some internal discussion with engineering; we would like you to separate the foreign and inverse key (the new options) into a separate module / gem (which you are free to maintain) similar to what was done with ripple-encryption.
Also; I would add some warnings in the specs (as comments); making it more clear that this should only be used for low throughput use cases and loose consistency requirements. It must be clear in those comments that multiple object transactions are not atomic and can not be guaranteed to be such by the underlying data store at this time.