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