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 +4 -4
- data/CHANGELOG.md +2 -0
- data/README.md +20 -0
- data/lib/sort_param/definition.rb +1 -1
- data/lib/sort_param/formatters/formatter.rb +1 -1
- data/lib/sort_param/formatters/hash.rb +1 -1
- data/lib/sort_param/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78cff5e96b34b0697aa50227db7186cbbbaac54290cdaf88ff6201ae35afda6e
|
4
|
+
data.tar.gz: 025b26afa452522750032d2be80f83dca0c0343ff00416e2a6d2299e47680980
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c191c86a31f9a9c300ab3064d3b44b9be8f273fc4578de139482f7434bb07b5c69d44ef12077b262a2832757450f7ded50ced460e501cf602328a29e6e2d2ad
|
7
|
+
data.tar.gz: 788302acfbcf086d426fe2adebb1c5ee59aa85ece7e5e78e956e6ea81987b04efef002ed052d7b0615736648b17552a46c7a5d85c44e94a2f0d6f416ebf4b94e
|
data/CHANGELOG.md
CHANGED
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
|
-
# *
|
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)[:
|
41
|
+
formatted_name = definition.field_defaults(field.name)[:rename]
|
42
42
|
|
43
43
|
blank?(formatted_name) ? field.name : formatted_name
|
44
44
|
end
|
data/lib/sort_param/version.rb
CHANGED
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.
|
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-
|
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:
|