litequeue 0.2.0 → 0.2.1
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 +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +5 -0
- data/Rakefile +28 -0
- data/lib/litequeue/statements.sql.yml +6 -6
- data/lib/litequeue/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: 975ed284b758c73f3ac99d5874c05fea38eb8c25bb36221b56f3e778b3f8fc08
|
4
|
+
data.tar.gz: fcb2a7662243851c7dcc62ea6346b0a1cbd591330c2d0883737609ff7996c260
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17cb8fc124f2b14ff43f10e2281af2d33e60b684a2dcea9c735e15798efa3790976cda508d8e9d5a1ef2816b4322bf9c906b53156a65c68987cb8d1d29d82fcd
|
7
|
+
data.tar.gz: 10cea9107216cbbb56a2fe2e7647c2a5830acd74ae8840817dd6dd9aa717124588dd61cbb2d2ba51b4adcb39661c353c36ff7c10a1e6d4551feb76c560b4fbab
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Litequeue
|
2
2
|
|
3
|
+
[](https://rubygems.org/gems/litequeue)
|
4
|
+
[](https://rubygems.org/gems/litequeue)
|
5
|
+

|
6
|
+

|
7
|
+
|
3
8
|
TODO: Delete this and the text below, and describe your gem
|
4
9
|
|
5
10
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/litequeue`. To experiment with that code, run `bin/console` for an interactive prompt.
|
data/Rakefile
CHANGED
@@ -9,6 +9,34 @@ Rake::TestTask.new(:test) do |t|
|
|
9
9
|
t.test_files = FileList["test/**/test_*.rb"]
|
10
10
|
end
|
11
11
|
|
12
|
+
desc "Update the README code coverage badge"
|
13
|
+
task :update_readme_coverage_badge do
|
14
|
+
require "json"
|
15
|
+
|
16
|
+
next unless File.exist?("coverage/.last_run.json")
|
17
|
+
|
18
|
+
last_run_coverage = JSON.load_file("coverage/.last_run.json")
|
19
|
+
line_coverage = last_run_coverage.dig("result", "line")
|
20
|
+
branch_coverage = last_run_coverage.dig("result", "branch")
|
21
|
+
average_coverage = [(branch_coverage * 1), (line_coverage * 1.5)].sum.fdiv(2.5).round
|
22
|
+
badge_color = if average_coverage >= 75
|
23
|
+
:brightgreen
|
24
|
+
else
|
25
|
+
:red
|
26
|
+
end
|
27
|
+
|
28
|
+
coverage_badge_re = /!\[Coverage\]\(https:\/\/img.shields.io\/badge\/code_coverage-(.*?)\)/
|
29
|
+
last_run_coverage_badge = ""
|
30
|
+
|
31
|
+
new_readme = File.read("README.md").gsub(coverage_badge_re, last_run_coverage_badge)
|
32
|
+
|
33
|
+
File.write("README.md", new_readme)
|
34
|
+
|
35
|
+
puts "Updated README code coverage badge to show #{average_coverage}% coverage."
|
36
|
+
end
|
37
|
+
|
38
|
+
task cov: %i[test update_readme_coverage_badge]
|
39
|
+
|
12
40
|
require "standard/rake"
|
13
41
|
|
14
42
|
task default: %i[test standard]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
push: >
|
2
2
|
INSERT INTO queue(id, name, fire_at, value)
|
3
|
-
VALUES (HEX(RANDOMBLOB(32)), $1, (UNIXEPOCH('subsec') + $2), $3)
|
3
|
+
VALUES (HEX(RANDOMBLOB(32)), $1, (IFNULL(UNIXEPOCH('subsec'), UNIXEPOCH()) + $2), $3)
|
4
4
|
RETURNING id, name;
|
5
5
|
|
6
6
|
pop: >
|
@@ -10,7 +10,7 @@ pop: >
|
|
10
10
|
IN (
|
11
11
|
SELECT name, fire_at, id FROM queue
|
12
12
|
WHERE name = IFNULL($1, 'default')
|
13
|
-
AND fire_at <= (UNIXEPOCH('subsec'))
|
13
|
+
AND fire_at <= IFNULL(UNIXEPOCH('subsec'), UNIXEPOCH())
|
14
14
|
ORDER BY fire_at ASC
|
15
15
|
LIMIT IFNULL($2, 1)
|
16
16
|
)
|
@@ -18,7 +18,7 @@ pop: >
|
|
18
18
|
|
19
19
|
repush: >
|
20
20
|
INSERT INTO queue(id, name, fire_at, value)
|
21
|
-
VALUES ($1, $2, (UNIXEPOCH('subsec') + $3), $4)
|
21
|
+
VALUES ($1, $2, (IFNULL(UNIXEPOCH('subsec'), UNIXEPOCH()) + $3), $4)
|
22
22
|
RETURNING name;
|
23
23
|
|
24
24
|
delete: >
|
@@ -40,9 +40,9 @@ info: >
|
|
40
40
|
SELECT
|
41
41
|
name,
|
42
42
|
COUNT(*) AS count,
|
43
|
-
AVG(UNIXEPOCH('subsec') - created_at) AS avg,
|
44
|
-
MIN(UNIXEPOCH('subsec') - created_at) AS min,
|
45
|
-
MAX(UNIXEPOCH('subsec') - created_at) AS max
|
43
|
+
AVG(IFNULL(UNIXEPOCH('subsec'), UNIXEPOCH()) - created_at) AS avg,
|
44
|
+
MIN(IFNULL(UNIXEPOCH('subsec'), UNIXEPOCH()) - created_at) AS min,
|
45
|
+
MAX(IFNULL(UNIXEPOCH('subsec'), UNIXEPOCH()) - created_at) AS max
|
46
46
|
FROM queue
|
47
47
|
GROUP BY name
|
48
48
|
ORDER BY count DESC;
|
data/lib/litequeue/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: litequeue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mohamed Hassan
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-08-
|
12
|
+
date: 2023-08-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: litedb
|