Commit e6d52bfcdff42a867d492e6082ade81ffc7c9626
1 parent
a2ee8496
Exists in
master
and in
29 other branches
ActionItem352: taking a more aggresive approach on indexing
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1863 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
20 additions
and
3 deletions
Show diff stats
app/models/article.rb
| @@ -21,7 +21,7 @@ class Article < ActiveRecord::Base | @@ -21,7 +21,7 @@ class Article < ActiveRecord::Base | ||
| 21 | 21 | ||
| 22 | acts_as_versioned | 22 | acts_as_versioned |
| 23 | 23 | ||
| 24 | - acts_as_searchable :fields => [ :name, :abstract, :body, :tag_list ] | 24 | + acts_as_searchable |
| 25 | 25 | ||
| 26 | before_update do |article| | 26 | before_update do |article| |
| 27 | article.advertise = true | 27 | article.advertise = true |
app/models/enterprise.rb
| @@ -9,7 +9,7 @@ class Enterprise < Organization | @@ -9,7 +9,7 @@ class Enterprise < Organization | ||
| 9 | extra_data_for_index :product_categories | 9 | extra_data_for_index :product_categories |
| 10 | 10 | ||
| 11 | def product_categories | 11 | def product_categories |
| 12 | - products.map{|p| p.product_category.full_name.split('/') }.join(' ') | 12 | + products.map{|p| p.product_category.full_name(' ') }.join(' ') |
| 13 | end | 13 | end |
| 14 | 14 | ||
| 15 | end | 15 | end |
app/models/profile.rb
| @@ -37,7 +37,7 @@ class Profile < ActiveRecord::Base | @@ -37,7 +37,7 @@ class Profile < ActiveRecord::Base | ||
| 37 | 37 | ||
| 38 | acts_as_having_boxes | 38 | acts_as_having_boxes |
| 39 | 39 | ||
| 40 | - acts_as_searchable :fields => [ :name, :identifier, :extra_data_for_index ] | 40 | + acts_as_searchable :additional_fields => [ :extra_data_for_index ] |
| 41 | 41 | ||
| 42 | class_inheritable_accessor :extra_index_methods | 42 | class_inheritable_accessor :extra_index_methods |
| 43 | self.extra_index_methods = [] | 43 | self.extra_index_methods = [] |
test/unit/product_test.rb
| @@ -67,4 +67,21 @@ class ProductTest < Test::Unit::TestCase | @@ -67,4 +67,21 @@ class ProductTest < Test::Unit::TestCase | ||
| 67 | assert_not_includes list, p3 | 67 | assert_not_includes list, p3 |
| 68 | end | 68 | end |
| 69 | 69 | ||
| 70 | + should 'calculate catagory full name' do | ||
| 71 | + cat = mock | ||
| 72 | + cat.expects(:full_name).returns('A B C') | ||
| 73 | + | ||
| 74 | + p = Product.new | ||
| 75 | + p.expects(:product_category).returns(cat) | ||
| 76 | + assert_equal 'A B C', p.category_full_name | ||
| 77 | + end | ||
| 78 | + | ||
| 79 | + should 'be indexed by category full name' do | ||
| 80 | + p = Product.new(:name => 'a test product') | ||
| 81 | + p.expects(:category_full_name).returns('interesting category') | ||
| 82 | + p.save! | ||
| 83 | + | ||
| 84 | + assert_includes Product.find_by_contents('interesting'), p | ||
| 85 | + end | ||
| 86 | + | ||
| 70 | end | 87 | end |