smart_search 0.0.72 → 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smart_search.rb +15 -3
  3. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfd2dd9fd04bc74f2c8697af8b3ee58145f9f64a
4
- data.tar.gz: 8021f287ed9b035434f002837ec3a9eef612253d
3
+ metadata.gz: 1f17967a51b18de2c290d5c10527b5a4dc1b1d37
4
+ data.tar.gz: 0420daee9888c98c13e6c752eff2c6ada9c7a115
5
5
  SHA512:
6
- metadata.gz: b1ec9e9a8c55ce8cda457288a7dc1dff33adfd5f847fd13d33f90601410759313f23b1352ef4efd7cbaf0f49c5d2f86919ecdd4c5c05402364bd4e5575eb99d3
7
- data.tar.gz: ca66520132e062cd2cc711e5ffefc3f8f40ae04c524f8032fe07010d7b3064e396294912390a4c0d697b85c76533e580abab6170d35f4bdd0574f7ce46de951e
6
+ metadata.gz: 36d59f74ea6dc434c595f3a8b84c993eefd49fb90545268218d2e57c40f694465e69061d6c23e6412c9d61256ef5772bc54bd9b751a8d393daf84b2656276b07
7
+ data.tar.gz: b6906ea972d8f38ae0a47a59de51f4da3ba7b08551716e1e08b95b2dc93dd72facbf6a9fe9b3d23402f3a452aedd0db0f4b890e8347eb955c4af3fbb45b8a7e2
@@ -11,6 +11,9 @@ require "smart_search_tag"
11
11
 
12
12
  module SmartSearch
13
13
 
14
+ REMOVE_CHARS = Regexp.new("[\|\'\~]")
15
+
16
+
14
17
  def self.included(base)
15
18
  base.extend ClassMethods
16
19
  end
@@ -31,11 +34,11 @@ module SmartSearch
31
34
 
32
35
  cattr_accessor :condition_default, :group_default, :tags, :order_default, :enable_similarity, :default_template_path
33
36
  send :include, InstanceMethods
34
- self.send(:after_save, :create_search_tags) unless options[:auto] == false
37
+ self.send(:after_save, :create_search_tags, :if => :update_search_tags?) unless options[:auto] == false
35
38
  self.send(:before_destroy, :clear_search_tags)
36
39
  self.enable_similarity ||= true
37
40
 
38
- attr_accessor :query_score
41
+ attr_accessor :query_score, :dont_update_search_tags
39
42
 
40
43
  # options zuweisen
41
44
  if options[:conditions].is_a?(String) && !options[:conditions].blank?
@@ -72,7 +75,8 @@ module SmartSearch
72
75
  self.connection.execute("INSERT INTO `#{::SmartSearchHistory.table_name}` (`query`) VALUES ('#{tags.gsub(/[^a-zA-ZäöüÖÄÜß\ ]/, '')}');")
73
76
  end
74
77
 
75
- tags = tags.split(/[\ -]/).select {|t| !t.blank?}
78
+ tags = tags.gsub(REMOVE_CHARS, " ")
79
+ tags = tags.split(/[\ -]/).select {|t| !t.blank? }
76
80
 
77
81
  # Fallback for Empty String
78
82
  tags << "#" if tags.empty?
@@ -166,6 +170,14 @@ module SmartSearch
166
170
  self.class.result_template_path
167
171
  end
168
172
 
173
+ def dont_update_search_tags!
174
+ self.dont_update_search_tags = true
175
+ end
176
+
177
+ def update_search_tags?
178
+ !self.dont_update_search_tags
179
+ end
180
+
169
181
  # create search tags for this very record based on the attributes defined in ':on' option passed to the 'Class.smart_search' method
170
182
  def create_search_tags
171
183
  tags = []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.72
4
+ version: 0.0.74
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Eck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-04 00:00:00.000000000 Z
11
+ date: 2015-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -120,3 +120,4 @@ test_files:
120
120
  - test/unit/01_smart_search_test.rb
121
121
  - test/unit/02_smart_search_similarity_test.rb
122
122
  - test/unit/03_smart_search_boost_test.rb
123
+ has_rdoc: