sort_param 0.2.0 → 1.0.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: c05d893490a180c3cb1ce696d8fbddf77f9e7a0f323434c755408f54f239c427
4
- data.tar.gz: 672ae31570afece8e8a18c504f7bbe47390d83c8e7485934edb473ace88e11db
3
+ metadata.gz: 78cff5e96b34b0697aa50227db7186cbbbaac54290cdaf88ff6201ae35afda6e
4
+ data.tar.gz: 025b26afa452522750032d2be80f83dca0c0343ff00416e2a6d2299e47680980
5
5
  SHA512:
6
- metadata.gz: 0dbaff8fc1c00aa5903ab1e75576b6af6d99ba37a3d90d41d8a2ef1ed4928d183a278d31552924aa94ba2aa0b395639d176a477cc50a0ed9379e61cc069c2ddb
7
- data.tar.gz: fe8ca1f676f8f4ff66a5e3a9395457218725eb440b37f1ee253752a5f77a1ae761e79136521735c0b291f92f54e6e3c02ec6e7416d3baa1a79840498c3e78c85
6
+ metadata.gz: 8c191c86a31f9a9c300ab3064d3b44b9be8f273fc4578de139482f7434bb07b5c69d44ef12077b262a2832757450f7ded50ced460e501cf602328a29e6e2d2ad
7
+ data.tar.gz: 788302acfbcf086d426fe2adebb1c5ee59aa85ece7e5e78e956e6ea81987b04efef002ed052d7b0615736648b17552a46c7a5d85c44e94a2f0d6f416ebf4b94e
data/CHANGELOG.md CHANGED
@@ -4,3 +4,5 @@
4
4
  ## [0.2.0]
5
5
  - Support setting a different field name in the formatted output
6
6
 
7
+ ## [1.0.0]
8
+ - Rename :formatted_name option to :rename
data/README.md CHANGED
@@ -126,6 +126,26 @@ sort_param.load!("+first_name:nulls_last,-last_name:nulls_first", mode: :pg)
126
126
  ```
127
127
  <br/>
128
128
 
129
+ ### Render a different field name in the output
130
+ Set the `:rename` field option to output a different field name:
131
+
132
+ ```ruby
133
+ sort_param = SortParam.define do
134
+ field :first_name, rename: 'users.name'
135
+ end
136
+
137
+ sort_param.load!("+first_name", mode: :pg)
138
+ => "users.name asc"
139
+
140
+ sort_param.load!("+first_name", mode: :mysql)
141
+ => "users.name asc"
142
+
143
+ sort_param.load!("+first_name")
144
+ => {"users.name"=>{:direction=>:asc}}
145
+ ```
146
+
147
+ <br/>
148
+
129
149
  ### Rails example
130
150
 
131
151
  ```ruby
@@ -26,7 +26,7 @@ module SortParam
26
26
  # @param name [String, Symbol] column name
27
27
  # @param defaults [Hash] column default options:
28
28
  # * nulls (Symbol) nulls sort order. `:last` or `:first`
29
- # * formatted_name (String) field name in formatted output
29
+ # * rename (String) field name in formatted output
30
30
  #
31
31
  # @return [self] Definition instance
32
32
  def field(name, defaults = {})
@@ -38,7 +38,7 @@ module SortParam
38
38
  end
39
39
 
40
40
  def formatted_field_name(field)
41
- formatted_name = definition.field_defaults(field.name)[:formatted_name]
41
+ formatted_name = definition.field_defaults(field.name)[:rename]
42
42
 
43
43
  blank?(formatted_name) ? field.name : formatted_name
44
44
  end
@@ -18,7 +18,7 @@ module SortParam
18
18
  data = definition.field_defaults(field.name) || {}
19
19
  data.merge!(direction: field.direction)
20
20
  data.merge!(nulls: field.nulls) unless field.nulls.nil?
21
- data.delete(:formatted_name)
21
+ data.delete(:rename)
22
22
  data
23
23
  end
24
24
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SortParam
4
- VERSION = "0.2.0"
4
+ VERSION = "1.0.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sort_param
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uy Jayson B
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-13 00:00:00.000000000 Z
11
+ date: 2023-06-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Sort records using a sort query parameter à la JSON-API style
14
14
  email: