lib/elasticsearch_autocomplete.rb in elasticsearch_autocomplete-0.1.4 vs lib/elasticsearch_autocomplete.rb in elasticsearch_autocomplete-0.1.5
- old
+ new
@@ -4,27 +4,41 @@
require 'elasticsearch_autocomplete/model_addition'
require 'elasticsearch_autocomplete/railtie' if Object.const_defined?(:Rails)
module ElasticsearchAutocomplete
mattr_accessor :defaults
+ mattr_accessor :enable_indexing
+ self.enable_indexing = true
def self.default_index_prefix
Object.const_defined?(:Rails) ? ::Rails.application.class.name.split('::').first.downcase : nil
end
- self.defaults = {:attr => :name, :localized => false, :mode => :word, :index_prefix => default_index_prefix}
+ self.defaults = {attr: :name, localized: false, mode: :word, index_prefix: default_index_prefix}
MODES = {
- :word => {:base => 'ac', :word => 'ac_word'},
- :phrase => {:base => 'ac'},
- :full => {:base => 'ac', :full => 'ac_full'}
+ word: {base: 'ac', word: 'ac_word'},
+ phrase: {base: 'ac'},
+ full: {base: 'ac', full: 'ac_full'}
}
- def self.val_to_terms(val, zero=false)
- return [] unless val
- return val if val.is_a?(Array)
- return [true] if val == 'true'
- return [false] if val == 'false'
- a = val.to_s.split(',').map(&:to_i)
- zero ? a : a.reject(&:zero?)
+ class << self
+ def val_to_terms(val, zero=false)
+ return [] unless val
+ return val if val.is_a?(Array)
+ return [true] if val == 'true'
+ return [false] if val == 'false'
+ a = val.to_s.split(',').map(&:to_i)
+ zero ? a : a.reject(&:zero?)
+ end
+
+ def without_indexing
+ original_setting = enable_indexing
+ self.enable_indexing = false
+ begin
+ yield
+ ensure
+ self.enable_indexing = original_setting
+ end
+ end
end
end