Sha256: 8ef671aa9a70f29d75a90774e5155de57b324336d607916491dfc61e7ea775a4
Contents?: true
Size: 1018 Bytes
Versions: 4
Compression:
Stored size: 1018 Bytes
Contents
require 'logger' module PgSearch class Document < ActiveRecord::Base include PgSearch self.table_name = 'pg_search_documents' belongs_to :searchable, :polymorphic => true before_validation :update_content, :unless => Proc.new { |doc| doc.searchable.nil? } # The logger might not have loaded yet. # https://github.com/Casecommons/pg_search/issues/26 def self.logger super || Logger.new(STDERR) end pg_search_scope :search, lambda { |*args| options = if PgSearch.multisearch_options.respond_to?(:call) PgSearch.multisearch_options.call(*args) else {:query => args.first}.merge(PgSearch.multisearch_options) end {:against => :content}.merge(options) } private def update_content methods = Array(searchable.pg_search_multisearchable_options[:against]) searchable_text = methods.map { |symbol| searchable.send(symbol) }.join(" ") self.content = searchable_text end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pg_search-0.7.8 | lib/pg_search/document.rb |
pg_search-0.7.7 | lib/pg_search/document.rb |
pg_search-0.7.6 | lib/pg_search/document.rb |
pg_search-0.7.5 | lib/pg_search/document.rb |