filterameter 1.0.1 → 1.0.2

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: a250b39d9c80245166bcfe14a7133cd5ec83f9746989d7e461fa0c121358f57a
4
- data.tar.gz: 5d7c64cb79fd73ee94e4e94316b0b5964fac440b14fb0bc58c0c1d805d0f9d60
3
+ metadata.gz: 9666ad7ecd3f4cb352a26a7b8522fdff5a4ed94f9fa26199111659944982d8b1
4
+ data.tar.gz: 93b5c66bfac1d89d8e77b6e967da5cce8531633029718f8c5484b8688bcef428
5
5
  SHA512:
6
- metadata.gz: d170eb98f80c24173fa92d0251aa68af7d5f3d002d4c3ff473e086aba8d16f07fd05422af6dced018331e883431c93292b4d0b7e5bf3476587b40df8dbeab8d3
7
- data.tar.gz: e2342236255b79da8ee96aa7eec0e33c6e9f0131473eaadffd31f833c7212d01d2123eeb6a70cdff8d619ff8678f4d6aafc8d9b52151de9dc6583983f3accd92
6
+ metadata.gz: 4daba3e1643f9b6cb5a1c00f81b734bba3e8d10e55038a8bad8ae2e1b74f9172b74870836d8c27d6afb506bb19092c5631ccea70e0feccc44dbe15758d0ca583
7
+ data.tar.gz: 879d2e0e5bc26f3bd4341bad4c5974f4ef17696418e05e6da8bb1cd5f6c7b8e16bfe835ae78ad08e954c487e3f8164b5b1bf1006a59b7e99cab5e775b0b79026
data/README.md CHANGED
@@ -247,10 +247,10 @@ end
247
247
 
248
248
  #### Default Sort
249
249
 
250
- A default sort can be declared using `default_sort`. The argument(s) should specify one or more of the declared sorts or sortable filters by name. By default, the order is ascending. If you want descending order, you can map the column name symbol to :desc.
250
+ A default sort can be declared using `default_sort`. The argument(s) should specify one or more of the declared sorts or sortable filters by name. The sorts should be defined as key-value pairs, with the name as the key and the direction as the value.
251
251
 
252
252
  ```ruby
253
- default_sort updated_at: :desc, :description
253
+ default_sort updated_at: :desc, description: :asc
254
254
  ```
255
255
 
256
256
  In order to provide consistent results, a sort is always applied. If no default is specified, it will use primary key descending.
@@ -96,6 +96,7 @@ module Filterameter
96
96
  parameter_names.each { |parameter_name| filter(parameter_name) }
97
97
  end
98
98
 
99
+ # Declares a default sort order for the query. Specify a list of sort names and directions as pairs.
99
100
  def default_sort(sort_and_direction_pairs)
100
101
  filter_coordinator.default_sort = sort_and_direction_pairs
101
102
  end
@@ -30,7 +30,9 @@ module Filterameter
30
30
 
31
31
  def parse_filter_params(filter_params)
32
32
  sort = parse_sorts(filter_params.delete('sort'))
33
- [sort, remove_invalid_values(filter_params)]
33
+ params = filter_params.reject { |_k, v| v.is_a?(String) && v.empty? }
34
+ .then { |p| remove_invalid_values(p) }
35
+ [sort, params]
34
36
  end
35
37
 
36
38
  def parse_sorts(sorts)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Filterameter
4
- VERSION = '1.0.1'
4
+ VERSION = '1.0.2'
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filterameter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Kummer
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-09 00:00:00.000000000 Z
10
+ date: 2025-03-15 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails