lib/fuzzily/searchable.rb in fuzzily-0.1.0 vs lib/fuzzily/searchable.rb in fuzzily-0.2.0

- old
+ new

@@ -45,12 +45,12 @@ trigram_class = trigram_class_name.constantize self.scoped(:include => trigram_association).find_in_batches(:batch_size => 100) do |batch| inserts = [] batch.each do |record| - record.send(field).extend(String).trigrams.each do |trigram| - inserts << sanitize_sql_array(['(?,?,?,?,?)', self.name, record.id, field.to_s, 1, trigram]) + record.send(field).extend(String).scored_trigrams.each do |trigram, score| + inserts << sanitize_sql_array(['(?,?,?,?,?)', self.name, record.id, field.to_s, score, trigram]) end end trigram_class.transaction do batch.each { |record| record.send(trigram_association).delete_all } @@ -64,11 +64,11 @@ end end define_method update_trigrams_method do self.send(trigram_association).delete_all - self.send(field).extend(String).trigrams.each do |trigram| - self.send(trigram_association).create!(:score => 1, :trigram => trigram, :owner_type => self.class.name) + self.send(field).extend(String).scored_trigrams.each do |trigram, score| + self.send(trigram_association).create!(:score => score, :trigram => trigram, :owner_type => self.class.name) end end after_save do |record| next unless record.send("#{field}_changed?".to_sym)