redis-search 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
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