like_query 0.1.1 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/like_query/model_extensions.rb +14 -4
- data/lib/like_query/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2cc4cbe0280f2f97c3ffa480362bec25a31e05b659faaf4a94f973ec7c549a8e
|
4
|
+
data.tar.gz: b8faeb19b25cb26ee63f0afefc10c1b181e3610c5e4b2d216e170119137f7cfd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 228cdefd397b2d889c3c1767b2829ad99b4633213607f2d98f75485b3fb924d326cc3e764aa699973c33d50f311b926ef7f20c33cd6dbe5a6e6710651e8a6041
|
7
|
+
data.tar.gz: 4de069dc6726b125f7ab265ca4ab2be358fae4a759c41ca16affb69b47cb6b3c9017dbd59f081af4800ae75d940915415f3798d191e34b968c3afd0988722ca1
|
@@ -32,11 +32,15 @@ module LikeQuery
|
|
32
32
|
associations.push(k.to_sym) unless associations.include?(k.to_sym)
|
33
33
|
if v.is_a?(Symbol) || v.is_a?(String)
|
34
34
|
_q = create_arel(v, f_str, assoc)
|
35
|
-
|
35
|
+
if _q.present?
|
36
|
+
q = (q ? q.or(_q) : _q)
|
37
|
+
end
|
36
38
|
elsif v.is_a?(Array)
|
37
39
|
v.each do |_v|
|
38
40
|
_q = create_arel(_v, f_str, assoc)
|
39
|
-
|
41
|
+
if _q.present?
|
42
|
+
q = (q ? q.or(_q) : _q)
|
43
|
+
end
|
40
44
|
end
|
41
45
|
else
|
42
46
|
raise "unknown element: #{p}"
|
@@ -44,7 +48,9 @@ module LikeQuery
|
|
44
48
|
end
|
45
49
|
else
|
46
50
|
_q = create_arel(p, f_str)
|
47
|
-
|
51
|
+
if _q.present?
|
52
|
+
q = (q ? q.or(_q) : _q)
|
53
|
+
end
|
48
54
|
end
|
49
55
|
|
50
56
|
end
|
@@ -117,7 +123,11 @@ module LikeQuery
|
|
117
123
|
def create_arel(schema_column, search_string, association = nil)
|
118
124
|
|
119
125
|
base_object = association&.klass || self
|
120
|
-
|
126
|
+
begin
|
127
|
+
type = base_object.columns_hash[schema_column.to_s].type
|
128
|
+
rescue => e
|
129
|
+
raise "#{base_object}.columns_hash[#{schema_column.to_s}].type RETURNED => «#{e.message}»"
|
130
|
+
end
|
121
131
|
arel = base_object.arel_table[schema_column]
|
122
132
|
|
123
133
|
if search_string[:float_from]
|
data/lib/like_query/version.rb
CHANGED