heathrow 0.7.4 → 0.7.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5157385f8be9722ca5d2920debecea14751c93ba6bdba10840004ee6a9ae301a
4
- data.tar.gz: f4eae36abc3446bc257c49ff60aca3ed6ef6b1bb981bb753aa9cc5884a74796d
3
+ metadata.gz: edb287ccce2f2ceb0b7582ce124efe53e9e7842662e241e12951d22c9bc202a6
4
+ data.tar.gz: 9ede8d4eab17aa9d0fff183b183eec501ebbdd011c8515497772e7d26cf51841
5
5
  SHA512:
6
- metadata.gz: dd461568292aef77abb3ef404d6a7d4d8472ef225f4da407a0dedb604ce8c590b0649455053a56c2a18e4d6023bcba81fcfa5bafaf5498eefe1756e6ee5870a1
7
- data.tar.gz: 97503edee0d70789701ccdccf02cbf7eff5aa91311deeca2c3d8d28197581ae243f1e04fb693b0780d34c1ae38162e3c1deb89feb34e8210105c76c246004f96
6
+ metadata.gz: 3566cc3e67b80037396991d097b7eedac09f22a0ab6c85e9f01d098c51dfa5be7dfd1cc87d3be476adc866eb8ac05c75be48ca77b170aa2149b5f2fa3a676164
7
+ data.tar.gz: 245b04002f624724fc3e1b475656425efac505c10a28763308dcee1b2403c796c005284eb4a7f6be0c7bc272de79af1a7da2687e6a952b2b65914faf3599f8ad
@@ -358,6 +358,19 @@ module Heathrow
358
358
  query += " AND source_id = ?"
359
359
  params << filters[:source_id]
360
360
  end
361
+
362
+ if filters[:source_ids].is_a?(Array) && !filters[:source_ids].empty?
363
+ ph = filters[:source_ids].map { '?' }.join(',')
364
+ query += " AND source_id IN (#{ph})"
365
+ params += filters[:source_ids]
366
+ end
367
+
368
+ if filters[:source_name]
369
+ patterns = filters[:source_name].split('|').map(&:strip)
370
+ conditions = patterns.map { "name LIKE ?" }.join(' OR ')
371
+ query += " AND source_id IN (SELECT id FROM sources WHERE #{conditions})"
372
+ params += patterns.map { |p| "%#{p}%" }
373
+ end
361
374
 
362
375
  # Handle sender pattern (supports regex via pipe separation)
363
376
  if filters[:sender_pattern]