ar_indexer 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b173a0feed66c6dfa32f17b624840e9aced0285
4
- data.tar.gz: 5a2776b09548c4c613bea0d76e592a3ccdc07b8e
3
+ metadata.gz: 06d3b7cfd6f1d545f8bb47c950cbd14f148224a1
4
+ data.tar.gz: 358a8b4859a711ced901b4b0785552ca31f9daa3
5
5
  SHA512:
6
- metadata.gz: 3938da4be83743a63650910f5951089fa9b7a15ab8c06623117bf2bbdb3cb4d4c7ed4feb6fc8937600ce1d4b070d361ed93101ef25dbb2c51425bb64796c3294
7
- data.tar.gz: d8867a7a3d5a46566ba453cd078883a5114180152362bd3560649b6743e8cc010c12b1d198d04e83f35d1b891f19dae3712ce63a878c3e82602611e9bf5500a3
6
+ metadata.gz: da10fc54a73d8e852c0353cb84837b2a82d013c328ffeda856a30894c1b83c30af14ba8ad6df5dc7c95e1bdcde834fa328c01e201da229ce599d0a4f68bc1dcf
7
+ data.tar.gz: 3ebcac08504288bb2c8ae7f4a20c6fb221d028df2e2eacec2a1d42c14ccdf40bf421f9387ee18baf0b013dec647d8c05e52698e86c498f85f2f027519d9a69ec
data/README.md CHANGED
@@ -51,7 +51,7 @@ Have an ActiveRecord model? Want to index some text for searching? Just add the
51
51
  }
52
52
  )
53
53
 
54
- At this point, ARIndexer will build and maintain a reverse index for each record under these models.
54
+ At this point, ARIndexer will build and maintain a reverse index for each record under these models. If you need to reindex the object at any time, the instance methods `reindex_object`, `reindex_fields`, and `reindex_associations` are added to all ActiveRecord objects with `has_reverse_index` declared.
55
55
 
56
56
  ###Searching###
57
57
 
data/ar_indexer.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |spec|
2
2
  # Basic Gem Description
3
3
  spec.name = "ar_indexer"
4
- spec.version = "0.2.0"
4
+ spec.version = "0.2.1"
5
5
  spec.date = "2014-10-06"
6
6
  spec.summary = "Allows for reverse indexing selected ActiveRecord models. Handles searching and return of objects"
7
7
  spec.description = spec.summary
data/lib/ar_indexer.rb CHANGED
@@ -17,7 +17,7 @@ module ARIndexer
17
17
  module Version
18
18
  MAJOR = '0'
19
19
  MINOR = '2'
20
- BUILD = '0'
20
+ BUILD = '1'
21
21
 
22
22
  STRING = "#{MAJOR}.#{MINOR}.#{BUILD}"
23
23
  end
@@ -34,6 +34,29 @@ module ARIndexer
34
34
  module_function :has_reverse_index
35
35
 
36
36
  module InstanceMethods
37
+ def reindex_object
38
+ values_to_index = ar_indexer_get_indexable_values
39
+ values_to_index.each do |field_name, value|
40
+ Indexer.index_string(self.class.to_s.split('::').last, self.id, field_name, value, false)
41
+ end
42
+ end
43
+
44
+ def reindex_fields
45
+ values_to_index = ar_indexer_get_indexable_values
46
+ values_to_index.delete_if {|key, value| self.indexed_associations.keys.map{|field| field.to_s}.include?(key)}
47
+ values_to_index.each do |field_name, value|
48
+ Indexer.index_string(self.class.to_s.split('::').last, self.id, field_name, value, false)
49
+ end
50
+ end
51
+
52
+ def reindex_associations
53
+ values_to_index = ar_indexer_get_indexable_values
54
+ values_to_index.delete_if {|key, value| self.indexed_fields.map{|field| field.to_s}.include?(key)}
55
+ values_to_index.each do |field_name, value|
56
+ Indexer.index_string(self.class.to_s.split('::').last, self.id, field_name, value, false)
57
+ end
58
+ end
59
+
37
60
  private
38
61
 
39
62
  def ar_indexer_get_indexable_values
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar_indexer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh MacLachlan