module PgSearch::ClassMethods
def multisearchable(options = {})
def multisearchable(options = {}) include PgSearch::Multisearchable class_attribute :pg_search_multisearchable_options self.pg_search_multisearchable_options = options end
def pg_search_scope(name, options)
def pg_search_scope(name, options) options_proc = if options.respond_to?(:call) options else unless options.respond_to?(:merge) raise ArgumentError, "pg_search_scope expects a Hash or Proc" end ->(query) { {:query => query}.merge(options) } end define_singleton_method(name) do |*args| config = Configuration.new(options_proc.call(*args), self) scope_options = ScopeOptions.new(config) scope_options.apply(self) end end