miscellany 0.1.14 → 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d919e8dffeb9e12448e4e1a65f0e3c3015b9dd759164e746a59560af0797ea32
|
4
|
+
data.tar.gz: dd0a2c007d8980d1dd7d5995571aa7a9e1a4346099c23c279fd4f7c853851535
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97f892b692386c7c924a2b082ddb34787a6870c9bad7cc378d426a6fe8e288a7d47f33b570596c4e948a24decc51882b9da859d8e9fef3d5cbe8ad13c49cecdf
|
7
|
+
data.tar.gz: 0115b26046212f6d56bbac869097a3e7b69e2c2b1756d3b33b38a02b9b361df61c478f2d930f343577e53bc1f3181b83e9cbcee1be2e188e6640a38901b8c357
|
@@ -60,11 +60,11 @@ module Miscellany
|
|
60
60
|
offset = 0
|
61
61
|
loop do
|
62
62
|
batch = ActiveRecord::Base.connection.exec_query(
|
63
|
-
"SELECT * FROM #{tbl} LIMIT #{
|
63
|
+
"SELECT * FROM #{tbl} LIMIT #{of} OFFSET #{offset}",
|
64
64
|
)
|
65
65
|
augment_batch(batch)
|
66
66
|
yield batch
|
67
|
-
offset +=
|
67
|
+
offset += of
|
68
68
|
break if batch.empty?
|
69
69
|
end
|
70
70
|
ensure
|
@@ -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
|
data/lib/miscellany/sort_lang.rb
CHANGED
@@ -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
|
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
|
data/lib/miscellany/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2023-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|