Module: ActiveSearch

Defined in:
lib/activesearch/base.rb,
lib/activesearch/proxy.rb,
lib/activesearch/result.rb,
lib/activesearch/algolia.rb,
lib/activesearch/mongoid.rb,
lib/activesearch/version.rb,
lib/activesearch/results_set.rb,
lib/activesearch/mongoid/index.rb,
lib/activesearch/algolia/client.rb,
lib/activesearch/elastic_search.rb,
lib/activesearch/algolia/results_set.rb,
lib/activesearch/mongoid/results_set.rb,
lib/activesearch/mongoid/full_text_search_query.rb

Defined Under Namespace

Modules: Algolia, Base, ElasticSearch, Mongoid Classes: Proxy, Result, ResultsSet

Constant Summary collapse

VERSION =
'0.3.2'

Class Method Summary collapse

Class Method Details

.search(text) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/activesearch/algolia.rb', line 11

def self.search(text, conditions = {}, options = {})
  conditions.symbolize_keys!
  options.symbolize_keys!

  clean_locale(conditions, options)

  results_set = Algolia::Client.new.query_text(text, { tags: conditions_to_tags(conditions) }, options)

  Proxy.new(results_set, text, options)
end

.strip_tags(value) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/activesearch/base.rb', line 4

def self.strip_tags(value)
  case value
  when String
    value.gsub(/<\/?[^>]*>/, '')
  when Hash
    value.each_with_object({}) { |(k,v),h| h[k] = strip_tags(v) }
  when Array
    value.map { |v| strip_tags(v) }
  else
    value
  end
end