Ohm v1.0.0 Release Notes
-
Fetching a batch of objects is now done through one pipeline, effectively reducing the IO to just 2 operations (one for SMEMBERS / LRANGE, one for the actual HGET of all the individual HASHes.)
write_remote / read_remote have been replaced with set / get respectively.
Ohm::Model.unique has been added.
Ohm::Model::Set has been renamed to Ohm::Set
Ohm::Model::List has been renamed to Ohm::List
Ohm::Model::Collection is gone.
Ohm::Validations is gone. Ohm now uses Scrivener::Validations.
Ohm::Key is gone. Ohm now uses Nest directly.
No more concept of volatile keys.
Ohm::Model::Wrapper is gone.
👉 Use Symbols for constants instead of relying on Ohm::Model.const_missing.
#sort
/#sort_by
now useslimit
as it's used in redis-rb, e.g. you have to pass in an array like so: sort(limit: [0, 1]).Set / List have been trimmed to contain only the minimum number of necessary methods.
You can no longer mutate a collection / set as before, e.g. doing User.find(...).add(User[1]) will throw an error.
The #union operation has been added. You can now chain it with your filters.
Temporary keys when doing finds are now automatically cleaned up.
Counters are now stored in their own key instead, i.e. in User::counters.
👍 JSON support has to be explicitly required by doing
require "ohm/json"
.⚡️ All save / delete / update operations are now done using transactions (see http://redis.io/topics/transactions).
All indices are now stored without converting the values to base64.