ar_indexer 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ar_indexer.gemspec +1 -1
- data/lib/ar_indexer.rb +1 -1
- data/lib/ar_indexer/has_reverse_index.rb +23 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06d3b7cfd6f1d545f8bb47c950cbd14f148224a1
|
4
|
+
data.tar.gz: 358a8b4859a711ced901b4b0785552ca31f9daa3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
@@ -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
|