effective_resources 2.2.3 → 2.2.5

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
  SHA256:
3
- metadata.gz: 1d4c8949c461fb0b18d3678caf9a4042f365075ee62dcaccc2fdb8959e9a9f88
4
- data.tar.gz: 37fac9155c56b4f08329b7c1aa3ace75732837c2a992057bf6a9cb309ea6b16c
3
+ metadata.gz: 90e5bf3fd1991d755505ba17c9ec917279bed6ed92e8b336005ccbcf4568ac01
4
+ data.tar.gz: 84a1301995e457d5ac7250528ca7dafb6ac3d043d41c8dec65a200f452217c11
5
5
  SHA512:
6
- metadata.gz: 6f1d0ebbf97e9833f1a5d22a37da11f91eaf86f57a1f3091793373b81d32b352bee94e641816e2efccdbea569ded82db913743e18288ba2eeb40efefe3dc24e5
7
- data.tar.gz: d6199a46442c28b8d6c808e80933954d79cb3d7f584a603dd748329b47d58ffa327872e7f102c9a5dbcef4a352d3cec6055e175206b98628dd794e1b34a06328
6
+ metadata.gz: 481fd4b475b39f2c048288831ae0929b86062dbb63edb49ada6b4652a7c33953a172bb9f3ec5f2c4d9cf2d1653bf3a6625b692d8d776ae6b11281ca30bc57b73
7
+ data.tar.gz: eab64d1fa9fb21caa68e028943ea22bd4ced563a7ca9fb08d35e23dd5ae325c00918a1485273297ef46311c047eef4790631d60022a9eea5eed1bc4504d74bdd
@@ -284,7 +284,7 @@ module Effective
284
284
  term = Attribute.new(as).parse(value, name: name) || value
285
285
 
286
286
  # If using the joined syntax from datatables
287
- joined = sql_column.to_s.include?('.')
287
+ joined = (sql_column.to_s.split('.').first.to_s.include?(relation.arel_table.name) == false)
288
288
 
289
289
  searched = case as
290
290
  when :active_storage
@@ -305,12 +305,7 @@ module Effective
305
305
  end
306
306
  )
307
307
 
308
- if joined
309
- relation.where("#{sql_column} >= ? AND #{sql_column} <= ?", term, end_at)
310
- else
311
- relation.where(attribute.gteq(term)).where(attribute.lteq(end_at))
312
- end
313
-
308
+ relation.where("#{sql_column} >= ? AND #{sql_column} <= ?", term, end_at)
314
309
  end
315
310
 
316
311
  when :effective_obfuscation
@@ -334,11 +329,11 @@ module Effective
334
329
  return searched if searched
335
330
 
336
331
  # Simple operation search
332
+ # The Arel operator eq and matches bug out with serialized Array columns. So we avoid for datatables usage.
333
+
337
334
  case operation
338
- when :eq then
339
- joined ? relation.where("#{sql_column} = ?", term) : relation.where(attribute.eq(term))
340
- when :matches then
341
- joined ? relation.where("#{sql_column} #{ilike} ?", "%#{term}%") : relation.where(attribute.eq(term))
335
+ when :eq then relation.where("#{sql_column} = ?", term)
336
+ when :matches then relation.where("#{sql_column} #{ilike} ?", "%#{term}%")
342
337
  when :not_eq then relation.where(attribute.not_eq(term))
343
338
  when :does_not_match then relation.where(attribute.does_not_match("%#{term}%"))
344
339
  when :starts_with then relation.where(attribute.matches("#{term}%"))
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '2.2.3'.freeze
2
+ VERSION = '2.2.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.3
4
+ version: 2.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-09 00:00:00.000000000 Z
11
+ date: 2023-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails