redis-search 0.6.1 → 0.6.2

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 (2) hide show
  1. data/lib/redis/search/base.rb +18 -8
  2. metadata +9 -9
@@ -31,7 +31,7 @@ class Redis
31
31
  exts
32
32
  end
33
33
 
34
- after_create :redis_search_index_create
34
+ # after_create :redis_search_index_create
35
35
  def redis_search_index_create
36
36
  s = Search::Index.new(:title => self.#{title_field},
37
37
  :id => self.id,
@@ -44,19 +44,18 @@ class Redis
44
44
  s = nil
45
45
  end
46
46
 
47
- before_destroy :redis_search_index_remove
48
- def redis_search_index_remove
47
+ before_destroy :redis_search_index_destroy
48
+ def redis_search_index_destroy
49
49
  Search::Index.remove(:id => self.id, :title => self.#{title_field}, :type => self.class.to_s)
50
50
  end
51
-
52
- before_update :redis_search_index_update
53
- def redis_search_index_update
51
+
52
+ def redis_search_index_need_reindex
54
53
  index_fields_changed = false
55
54
  #{ext_fields.inspect}.each do |f|
56
55
  next if f.to_s == "id"
57
56
  field_method = f.to_s + "_changed?"
58
57
  if !self.methods.include?(field_method.to_sym)
59
- ::Rails.logger.debug("[redis-search] warring! #{self.class.name} model reindex on update need "+field_method+" method.")
58
+ Search.warn("#{self.class.name} model reindex on update need "+field_method+" method.")
60
59
  next
61
60
  end
62
61
  if instance_eval(field_method)
@@ -69,8 +68,19 @@ class Redis
69
68
  end
70
69
  rescue
71
70
  end
72
- if index_fields_changed
71
+ return index_fields_changed
72
+ end
73
+
74
+ after_update :redis_search_index_remove
75
+ def redis_search_index_remove
76
+ if self.redis_search_index_need_reindex
73
77
  Search::Index.remove(:id => self.id, :title => self.#{title_field}_was, :type => self.class.to_s)
78
+ end
79
+ end
80
+
81
+ after_save :redis_search_index_update
82
+ def redis_search_index_update
83
+ if self.redis_search_index_need_reindex
74
84
  self.redis_search_index_create
75
85
  end
76
86
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-30 00:00:00.000000000Z
12
+ date: 2011-10-06 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chinese_pinyin
16
- requirement: &2157459160 !ruby/object:Gem::Requirement
16
+ requirement: &70317013355480 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2157459160
24
+ version_requirements: *70317013355480
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rmmseg-cpp-huacnlee
27
- requirement: &2157458680 !ruby/object:Gem::Requirement
27
+ requirement: &70317013355000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.2.8
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2157458680
35
+ version_requirements: *70317013355000
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: redis
38
- requirement: &2157458200 !ruby/object:Gem::Requirement
38
+ requirement: &70317013354520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 2.1.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2157458200
46
+ version_requirements: *70317013354520
47
47
  description: High performance real-time search (Support Chinese), index in Redis for
48
48
  Rails application.
49
49
  email:
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  version: 1.3.6
81
81
  requirements: []
82
82
  rubyforge_project:
83
- rubygems_version: 1.8.6
83
+ rubygems_version: 1.8.10
84
84
  signing_key:
85
85
  specification_version: 3
86
86
  summary: High performance real-time search (Support Chinese), index in Redis for Rails