class ActiveRecord::Store::FlexibleJsonb
Public Instance Methods
delete_keys(*keys)
click to toggle source
# File lib/pgrel/active_record/store/flexible_jsonb.rb, line 6 def delete_keys(*keys) keys.flatten! query = +"#{store_name} = #{store_name}" keys.length.times { query.concat(" - ?") } relation.update_all([query, *keys]) end
delete_pairs(pairs)
click to toggle source
# File lib/pgrel/active_record/store/flexible_jsonb.rb, line 17 def delete_pairs(pairs) keys = pairs.keys pairs = pairs.map { |k, v| {k => v} } @relation = relation.where.store(store_name, *pairs) delete_keys(keys) end
merge(pairs)
click to toggle source
# File lib/pgrel/active_record/store/flexible_jsonb.rb, line 13 def merge(pairs) relation.update_all(["#{store_name} = #{store_name} || ?::jsonb", pairs.to_json]) end