class Mincer::PgSearch::SearchEngines::Base
Attributes
args[R]
search_statements[R]
Public Class Methods
new(args, search_statements)
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 8 def initialize(args, search_statements) @args, @search_statements = ::ActiveSupport::HashWithIndifferentAccess.new(args), search_statements end
Public Instance Methods
arel_group(sql_string = nil) { || ... }
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 12 def arel_group(sql_string = nil) sql_string = yield if block_given? arel_query = sql_string.is_a?(String) ? Arel.sql(sql_string) : sql_string return arel_query if arel_query.is_a?(Arel::Nodes::Grouping) Arel::Nodes::Grouping.new(arel_query) end
engine_sym()
click to toggle source
Redefine this method in subclass if your engine name does not match class
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 45 def engine_sym @engine_sym ||= self.class.name.to_s.demodulize.underscore.to_sym end
prepared_search_statements()
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 37 def prepared_search_statements @prepared_search_statements ||= search_engine_statements.map do |search_statement| search_statement.pattern = args[search_statement.param_name] search_statement.pattern.present? ? search_statement : nil end.compact end
quote(string)
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 54 def quote(string) Mincer::Processors::PgSearch::Sanitizer.quote(string) end
rank()
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 49 def rank #Must be implemented in subclasses nil end
sanitize_column(term, sanitizers)
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 19 def sanitize_column(term, sanitizers) ::Mincer::Processors::PgSearch::Sanitizer.sanitize_column(term, sanitizers) end
sanitize_string(term, sanitizers)
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 23 def sanitize_string(term, sanitizers) ::Mincer::Processors::PgSearch::Sanitizer.sanitize_string(term, sanitizers) end
sanitize_string_quoted(term, sanitizers)
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 27 def sanitize_string_quoted(term, sanitizers) ::Mincer::Processors::PgSearch::Sanitizer.sanitize_string_quoted(term, sanitizers) end
search_engine_statements()
click to toggle source
# File lib/mincer/processors/pg_search/search_engines/base.rb, line 31 def search_engine_statements @search_engine_statements ||= self.search_statements.select do |search_statement| search_statement.options[:engines].try(:include?, engine_sym) end end