trailblazer-finder 0.101.0 → 0.200.0

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: e3ced2d8db3f4239864a12183a94edc891ad1ab3d6d36f1508403e651bce0786
4
- data.tar.gz: fde469fd7fb6a1d501c8b28a5e174cc06f85df1d3b5f0f5f89479a97d6e9b4c1
3
+ metadata.gz: 90dc16422aad1120e71229592d5754f1cddda1c4b100e5fd204d9489dbc380ff
4
+ data.tar.gz: f2ded79c05e8bf26bd3607e16bec67622209e667e3e446aec3b5c5987b9217ae
5
5
  SHA512:
6
- metadata.gz: b73ae7096e16f38fa6fa52be523124a45bc41c8778ffc0dfb210dc5602799efc939ad51739e7bdbbc624452c31cf2984a1dc2901963bd734c2874b97647eb22b
7
- data.tar.gz: f817f84115eb48db4650587730ebfa5c05a89933ae79d43e27c5378e4af193a17d592c5d7e9e3f23f55976a72a24022c00f13f225850c786fcd5d4eb72cd5fa8
6
+ metadata.gz: 60b6c26e8b09c3c9a5f833fcd46d84335961a0f633bd4d93743fe9bd69b3fedf2a7e861b2ae2e7f3ceea1d54b4cf4e1f3cab32b0159afcd794069db275a3d41a
7
+ data.tar.gz: 5af282dd278f41bf9ca9f89d34985989de777e8caa93da8a00107bd49700691e76babe4c665e70f57e1ef59897dc7cb6bbedbe9387f81da3a192a6817ac9d854
@@ -13,7 +13,7 @@ module Trailblazer
13
13
  end
14
14
 
15
15
  def invalid?(_e, (ctx, _flow_options), **_circuit_options)
16
- (ctx[:errors] ||= []) << {adapter: "The specified adapter is invalid"}
16
+ (ctx[:errors] ||= []) << {adapter: "The specified adapter are invalid"}
17
17
  end
18
18
 
19
19
  step :set_adapter
@@ -16,6 +16,7 @@ module Trailblazer
16
16
 
17
17
  def process_filters(ctx)
18
18
  @params.reduce(@entity) do |entity, (name, value)|
19
+ value = Utils::String.to_date(value) if Utils::String.date?(value)
19
20
  filter = @filters[name.to_sym] || @filters[name]
20
21
  new_entity = ctx.instance_exec entity, filter[:name], value, &filter[:handler]
21
22
  new_entity || entity
@@ -30,6 +30,21 @@ module Trailblazer
30
30
  .tr(" ", "_")
31
31
  .downcase
32
32
  end
33
+
34
+ def self.to_date(value)
35
+ Date.parse(value).strftime("%Y-%m-%d") if date?(value)
36
+ end
37
+
38
+ def self.date?(date)
39
+ return false unless
40
+ date.is_a?(::DateTime) ||
41
+ date.is_a?(::Date) ||
42
+ date.is_a?(::String)
43
+ return false if date.is_a?(::String) && date.size == 36 # Ignore uuids that could get casted to dates
44
+
45
+ date_hash = ::Date._parse(date.to_s)
46
+ Date.valid_date?(date_hash[:year].to_i, date_hash[:mon].to_i, date_hash[:mday].to_i)
47
+ end
33
48
  end
34
49
  end
35
50
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Trailblazer
4
4
  class Finder
5
- VERSION = "0.101.0"
5
+ VERSION = "0.200.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.101.0
4
+ version: 0.200.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  - Marc Tich
9
9
  - Abdelkader Boudih
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2025-03-03 00:00:00.000000000 Z
13
+ date: 2024-09-30 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: dry-types
@@ -303,6 +304,7 @@ licenses:
303
304
  - LGPL-3.0
304
305
  metadata:
305
306
  rubygems_mfa_required: 'true'
307
+ post_install_message:
306
308
  rdoc_options: []
307
309
  require_paths:
308
310
  - lib
@@ -317,7 +319,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
317
319
  - !ruby/object:Gem::Version
318
320
  version: '0'
319
321
  requirements: []
320
- rubygems_version: 3.6.5
322
+ rubygems_version: 3.5.11
323
+ signing_key:
321
324
  specification_version: 4
322
325
  summary: Trailblazer based finder objects. It is designed to be used on its own as
323
326
  a separate gem. It was influenced by popular Ransack gem, but in addition to ActiveRecord,