class ActiveRecord::Store::FlexibleHstore
Public Instance Methods
delete_keys(*keys)
click to toggle source
# File lib/pgrel/active_record/store/flexible_hstore.rb, line 6 def delete_keys(*keys) keys = keys.flatten.map(&:to_s) relation.update_all(["#{store_name} = delete(#{store_name}, ARRAY[:keys])", keys: keys]) end
delete_pairs(pairs)
click to toggle source
# File lib/pgrel/active_record/store/flexible_hstore.rb, line 16 def delete_pairs(pairs) relation.update_all( ["#{store_name} = delete(#{store_name}, hstore(ARRAY[:keys], ARRAY[:values]))", keys: pairs.keys.map(&:to_s), values: pairs.values.map(&:to_s)] ) end
merge(pairs)
click to toggle source
# File lib/pgrel/active_record/store/flexible_hstore.rb, line 11 def merge(pairs) relation.update_all(["#{store_name} = hstore(#{store_name}) || hstore(ARRAY[:keys])", keys: pairs.to_a.flatten.map(&:to_s)]) end