module Surus::Hstore::Scope
Public Instance Methods
hstore_has_all_keys(column, *keys)
click to toggle source
Adds a where condition that requires column to contain all keys.
Example:
User.hstore_has_all_keys(:properties, "favorite_color", "favorite_song") User.hstore_has_all_keys(:properties, ["favorite_color", "favorite_song"])
# File lib/surus/hstore/scope.rb, line 25 def hstore_has_all_keys(column, *keys) where("#{connection.quote_table_name(table_name)}.#{connection.quote_column_name(column)} ?& ARRAY[:keys]", keys: keys.flatten) end
hstore_has_any_keys(column, *keys)
click to toggle source
Adds a where condition that requires column to contain any keys.
Example:
User.hstore_has_any_keys(:properties, "favorite_color", "favorite_song") User.hstore_has_any_keys(:properties, ["favorite_color", "favorite_song"])
# File lib/surus/hstore/scope.rb, line 34 def hstore_has_any_keys(column, *keys) where("#{connection.quote_table_name(table_name)}.#{connection.quote_column_name(column)} ?| ARRAY[:keys]", keys: keys.flatten) end
hstore_has_key(column, key)
click to toggle source
Adds a where condition that requires column to contain key
Example:
User.hstore_has_key(:properties, "favorite_color")
# File lib/surus/hstore/scope.rb, line 16 def hstore_has_key(column, key) where("#{connection.quote_table_name(table_name)}.#{connection.quote_column_name(column)} ? :key", key: key) end
hstore_has_pairs(column, hash)
click to toggle source
Adds a where condition that requires column to contain hash
Example:
User.hstore_has_pairs(:properties, "favorite_color" => "green")
# File lib/surus/hstore/scope.rb, line 8 def hstore_has_pairs(column, hash) where("#{connection.quote_table_name(table_name)}.#{connection.quote_column_name(column)} @> ?", Serializer.new.dump(hash)) end