miscellany 0.1.15 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0292657fd777bbea4bc0f5388da1bf36a8996fb289734680e659e8d454a31581'
4
- data.tar.gz: '087408e70b210183a78aed078d86ea593e8810eccd3b22cc9885805de6a98c02'
3
+ metadata.gz: d919e8dffeb9e12448e4e1a65f0e3c3015b9dd759164e746a59560af0797ea32
4
+ data.tar.gz: dd0a2c007d8980d1dd7d5995571aa7a9e1a4346099c23c279fd4f7c853851535
5
5
  SHA512:
6
- metadata.gz: 243f605f61a02d0df1704fae338c395f573341a251f53ed734a43e843f6cb3619bf0ad49c399f20c70963c2a586c03783416c29247e86f740aff765afcf5ede5
7
- data.tar.gz: 9839a4ecaf808730cfb587b498feb9266b3394929a0e2f7d06ca2efcab4f7715041a82a93446eedcb729b8d141b08d76a1aa1f8d9cbf1a4ddc0f7ddfc649d1a9
6
+ metadata.gz: 97f892b692386c7c924a2b082ddb34787a6870c9bad7cc378d426a6fe8e288a7d47f33b570596c4e948a24decc51882b9da859d8e9fef3d5cbe8ad13c49cecdf
7
+ data.tar.gz: 0115b26046212f6d56bbac869097a3e7b69e2c2b1756d3b33b38a02b9b361df61c478f2d930f343577e53bc1f3181b83e9cbcee1be2e188e6640a38901b8c357
@@ -98,7 +98,7 @@ module Miscellany
98
98
  end
99
99
 
100
100
  begin
101
- slice[:sort] = options[:sort_parser]&.parse(arg[:sort], ignore_errors: true)
101
+ slice[:sort] = options[:sort_parser]&.parse(arg[:sort], ignore_errors: true, default: true)
102
102
  rescue Miscellany::SortLang::Parser::SortParsingError => e
103
103
  raise HttpErrorHandling::HttpError, message: e.message
104
104
  end
@@ -60,8 +60,8 @@ module Miscellany
60
60
  false
61
61
  end
62
62
 
63
- def parse(sortstr, ignore_errors: true)
64
- (sortstr || '').split(',').map do |s|
63
+ def parse(sortstr, ignore_errors: true, default: :true)
64
+ sorts = (sortstr || '').split(',').map do |s|
65
65
  m = s.strip.match(/^(\w+)(?: (ASC|DESC))?$/)
66
66
 
67
67
  if m.nil?
@@ -78,7 +78,11 @@ module Miscellany
78
78
  sort = resolved_sort.dup
79
79
  sort[:order] = m[2] if m[2].present? && !sort[:force_order]
80
80
  sort
81
- end.compact.presence
81
+ end
82
+
83
+ sorts << self.default if default == :append || default && !sorts.compact.present?
84
+
85
+ sorts.compact.presence
82
86
  end
83
87
 
84
88
  protected
@@ -1,3 +1,3 @@
1
1
  module Miscellany
2
- VERSION = "0.1.15".freeze
2
+ VERSION = "0.1.16".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miscellany
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan Knapp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-08 00:00:00.000000000 Z
11
+ date: 2023-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails