plok 1.1.1 → 1.1.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.
- checksums.yaml +4 -4
- data/app/models/concerns/plok/searchable.rb +20 -11
- data/lib/plok/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe8e289922e36071642ae46ff78b49eded873476b9721668a5c9df0f8d51bd4f
|
4
|
+
data.tar.gz: 06ee8edde78842db587ee3e0076b9a791cd78247d9987ba07a5441bd0f03c270
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 562556d7edcf1db8f174203ba55fd3e7cf111ffdab3b1b63d0532a44f3d09d955c9ff7545e83a08e0ed7cf22dff9afd2b14fd5e0857217eae08448f47d8f2915
|
7
|
+
data.tar.gz: c2d565bdfdd0aae5244dd82d9e7bcd04dcb672a7cb7fcc7f8fe40bf5cdd87f3f085a4f33a51c912db353b76d633c0b53b9e5a98a40704b1d0e0d3640c78ec2de
|
@@ -16,17 +16,17 @@ module Plok::Searchable
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def trigger_indices_save!
|
19
|
-
self.class.searchable_fields_list.each do |namespace,
|
20
|
-
|
21
|
-
if
|
19
|
+
self.class.searchable_fields_list.each do |namespace, fields|
|
20
|
+
fields.each do |field|
|
21
|
+
if field[:name] == :flexible_content
|
22
22
|
save_flexible_content_search_indices!(namespace) && next
|
23
23
|
end
|
24
24
|
|
25
|
-
if respond_to?(:translatable?) && self.class.translatable_fields_list.include?(
|
26
|
-
save_translatable_search_index!(namespace,
|
25
|
+
if respond_to?(:translatable?) && self.class.translatable_fields_list.include?(field[:name])
|
26
|
+
save_translatable_search_index!(namespace, field[:name]) && next
|
27
27
|
end
|
28
28
|
|
29
|
-
save_search_index!(namespace,
|
29
|
+
save_search_index!(namespace, field[:name], conditions: field[:conditions])
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -51,7 +51,11 @@ module Plok::Searchable
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
def save_search_index!(namespace, key, value: nil, locale: nil)
|
54
|
+
def save_search_index!(namespace, key, value: nil, locale: nil, conditions: [])
|
55
|
+
if conditions.any?
|
56
|
+
return unless conditions.map { |c| send(c) }.all?
|
57
|
+
end
|
58
|
+
|
55
59
|
value = if value.present?
|
56
60
|
value
|
57
61
|
elsif ActiveRecord::Base.connection.column_exists?(self.class.table_name, key)
|
@@ -81,18 +85,23 @@ module Plok::Searchable
|
|
81
85
|
end
|
82
86
|
|
83
87
|
module ClassMethods
|
84
|
-
def searchable_field(namespace, key)
|
85
|
-
return if searchable_fields_list.dig(namespace.to_sym)&.
|
88
|
+
def searchable_field(namespace, key, conditions)
|
89
|
+
return if !!searchable_fields_list.dig(namespace.to_sym)&.detect do |field|
|
90
|
+
field[:name] == key.to_sym
|
91
|
+
end
|
86
92
|
|
87
93
|
if searchable_fields_list[namespace.to_sym].blank?
|
88
94
|
searchable_fields_list[namespace.to_sym] = []
|
89
95
|
end
|
90
96
|
|
91
|
-
searchable_fields_list[namespace.to_sym] <<
|
97
|
+
searchable_fields_list[namespace.to_sym] << {
|
98
|
+
name: key.to_sym,
|
99
|
+
conditions: conditions
|
100
|
+
}
|
92
101
|
end
|
93
102
|
|
94
103
|
def plok_searchable(namespace: nil, fields: [], conditions: [])
|
95
|
-
fields.each { |key| searchable_field(namespace, key) }
|
104
|
+
fields.each { |key| searchable_field(namespace, key, conditions) }
|
96
105
|
end
|
97
106
|
|
98
107
|
def searchable_fields_list
|
data/lib/plok/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plok
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Davy Hellemans
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-11-
|
12
|
+
date: 2022-11-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|