like_query 0.1.6 → 0.1.8
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 +11 -7
- 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: 4dd78d6cee1f2c1de9f98dca1ba3fecc9a6d4fca67b705a98c0a7d76e0bf05a4
|
4
|
+
data.tar.gz: f785e5341d8c8e397a858af100c67e27c0e25551c181cf13e5b8d146da42f47c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04732f1e9d3177ea44ae7cff882007ea53ce893c349cd22d4ce7ad2301759eed886697ea20cc5b23c8a127ac081c089cab27acc97c5214330b9f18444cd81b70
|
7
|
+
data.tar.gz: 3e60c6de1f037a4c371227f6cf622e8e15029dfe1780ae5ecd58554d8bfed31ac9404fd6edcfdc578f7daf20849a48ccd92be2bac4202e78093dfd37a0620c53
|
@@ -26,9 +26,11 @@ module LikeQuery
|
|
26
26
|
(schema.first.is_a?(Array) ? schema.first : schema).each do |p|
|
27
27
|
dbg("• Iterate schema => #{p}")
|
28
28
|
enum_lab = enum_keys(p, s)
|
29
|
+
|
29
30
|
if enum_lab.present?
|
30
31
|
q = arel_table[p].in(enum_lab)
|
31
32
|
dbg(-> { " Query from enum => #{q.to_sql}" })
|
33
|
+
|
32
34
|
elsif p.is_a?(Hash)
|
33
35
|
p.each do |k, v|
|
34
36
|
assoc = reflect_on_association(k)
|
@@ -50,11 +52,13 @@ module LikeQuery
|
|
50
52
|
raise "unknown element: #{p}"
|
51
53
|
end
|
52
54
|
end
|
55
|
+
|
53
56
|
else
|
54
57
|
_q = create_arel(p, f_str)
|
55
58
|
if _q.present?
|
56
59
|
q = (q ? q.or(_q) : _q)
|
57
60
|
end
|
61
|
+
|
58
62
|
end
|
59
63
|
|
60
64
|
end
|
@@ -62,13 +66,13 @@ module LikeQuery
|
|
62
66
|
end
|
63
67
|
|
64
68
|
if associations.present?
|
65
|
-
left_outer_joins(associations).where(
|
66
|
-
|
67
|
-
|
69
|
+
r = left_outer_joins(associations).where(queries)
|
70
|
+
dbg(->{"RESULT => #{r.to_sql}"})
|
71
|
+
r
|
68
72
|
else
|
69
|
-
where(
|
70
|
-
|
71
|
-
|
73
|
+
r = where(queries)
|
74
|
+
dbg(->{"RESULT => #{r.to_sql}"})
|
75
|
+
r
|
72
76
|
end
|
73
77
|
end
|
74
78
|
|
@@ -139,7 +143,7 @@ module LikeQuery
|
|
139
143
|
if search_string[:float_from] && [:float, :decimal, :big_decimal, :integer, :bigint].include?(type)
|
140
144
|
|
141
145
|
q = arel.between(search_string[:float_from]..search_string[:float_until])
|
142
|
-
dbg(-> { " Query from
|
146
|
+
dbg(-> { " Query from number-field => #{q.to_sql}" })
|
143
147
|
q
|
144
148
|
|
145
149
|
else
|
data/lib/like_query/version.rb
CHANGED