rush_job_mongoid 1.3.0 → 1.5.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/README.md +1 -1
- data/app/assets/javascript/rush_job_mongoid/application.js +4 -4
- data/app/assets/javascript/rush_job_mongoid/controllers/rush_job_mongoid_polling_controller.js +24 -5
- data/app/assets/javascript/rush_job_mongoid/controllers/rush_job_mongoid_reload_jobs_table_controller.js +1 -1
- data/app/assets/javascript/rush_job_mongoid/controllers/rush_job_mongoid_table_update_controller.js +13 -4
- data/app/views/layouts/rush_job_mongoid/application.html.erb +1 -0
- data/app/views/rush_job_mongoid/shared/_polling.html.erb +13 -0
- data/config/importmap.rb +5 -0
- data/lib/rush_job_mongoid/version.rb +1 -1
- metadata +15 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4299628853a978d30ae8aebe0d641ecd811d3b663bbf3fc1217f32767fdb9537
|
4
|
+
data.tar.gz: 001601df04520cb90687811262bb9b6ebe44492ad21824b04c1c81d7ea755af3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70b2bfd96db812000a29158167cc91a124abd3ea9b6d27ae4e1af5135ea1450d60b7d41ab483f49f8903b83e360a3a6f51dae3ca22ea33137acc8309b4724e6a
|
7
|
+
data.tar.gz: 78ba438b4b0076facf55a418fd779852e3b11383fb4835d680941f0bc44b5e2d28b63e20eaf3c25f1a820d28d2465bce725680f1163f790e79e12f67cc56743c
|
data/README.md
CHANGED
@@ -30,7 +30,7 @@ Queues on the dashboard are eager loaded. If there are lots of queues this can a
|
|
30
30
|
Add this line to your Ruby on Rails application's Gemfile:
|
31
31
|
|
32
32
|
```ruby
|
33
|
-
gem 'rush_job_mongoid', '~> 1.
|
33
|
+
gem 'rush_job_mongoid', '~> 1.5'
|
34
34
|
```
|
35
35
|
|
36
36
|
And then execute:
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Application } from '@hotwired/stimulus';
|
2
|
-
import RushJobMongoidConfirmController from '
|
3
|
-
import RushJobMongoidFiltersController from '
|
4
|
-
import RushJobMongoidPollingController from '
|
5
|
-
import RushJobMongoidReloadJobsTableController from '
|
2
|
+
import RushJobMongoidConfirmController from 'rush_job_mongoid/controllers/rush_job_mongoid_confirm_controller';
|
3
|
+
import RushJobMongoidFiltersController from 'rush_job_mongoid/controllers/rush_job_mongoid_filters_controller';
|
4
|
+
import RushJobMongoidPollingController from 'rush_job_mongoid/controllers/rush_job_mongoid_polling_controller';
|
5
|
+
import RushJobMongoidReloadJobsTableController from 'rush_job_mongoid/controllers/rush_job_mongoid_reload_jobs_table_controller';
|
6
6
|
import 'bootstrap';
|
7
7
|
import '@hotwired/turbo-rails';
|
8
8
|
|
data/app/assets/javascript/rush_job_mongoid/controllers/rush_job_mongoid_polling_controller.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import { RushJobMongoidTableUpdateController } from '
|
1
|
+
import { RushJobMongoidTableUpdateController } from 'rush_job_mongoid/controllers/rush_job_mongoid_table_update_controller';
|
2
2
|
|
3
3
|
let intervalID;
|
4
4
|
|
5
5
|
export default class RushJobMongoidPollingController extends RushJobMongoidTableUpdateController {
|
6
|
-
static targets = ['pollingTime', 'pollingTimeLabel', 'pollingSlide'];
|
6
|
+
static targets = ['pollingTime', 'pollingTimeLabel', 'pollingSlide', 'progressBar', 'progressBarProgress'];
|
7
7
|
|
8
8
|
connect() {
|
9
9
|
this.pollingChange();
|
@@ -22,17 +22,36 @@ export default class RushJobMongoidPollingController extends RushJobMongoidTable
|
|
22
22
|
|
23
23
|
if (pollingSlide.checked === true) {
|
24
24
|
this.startPolling();
|
25
|
+
this.progressBarTarget.style = 'height: 7px;';
|
25
26
|
} else {
|
26
27
|
this.stopPolling();
|
28
|
+
this.progressBarTarget.style = 'display: none;';
|
27
29
|
}
|
28
30
|
}
|
29
31
|
|
30
32
|
startPolling() {
|
33
|
+
this.stopPolling();
|
31
34
|
this.updateJobs();
|
32
35
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
+
let progressInterval = 100;
|
37
|
+
let progressPrecent = 1;
|
38
|
+
let progressIntervalTime = this.pollingTime() * 10;
|
39
|
+
|
40
|
+
if (progressIntervalTime < 130) {
|
41
|
+
progressPrecent = 10;
|
42
|
+
progressIntervalTime = progressIntervalTime * 10;
|
43
|
+
}
|
44
|
+
|
45
|
+
intervalID = setInterval(() => {
|
46
|
+
this.progressBarProgressTarget.style = `width: ${progressInterval}%;`;
|
47
|
+
this.progressBarTarget.setAttribute('aria-valuenow', progressInterval);
|
48
|
+
|
49
|
+
progressInterval -= progressPrecent;
|
50
|
+
|
51
|
+
if (progressInterval < 0) {
|
52
|
+
this.startPolling();
|
53
|
+
}
|
54
|
+
}, progressIntervalTime);
|
36
55
|
}
|
37
56
|
|
38
57
|
stopPolling() {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { RushJobMongoidTableUpdateController } from '
|
1
|
+
import { RushJobMongoidTableUpdateController } from 'rush_job_mongoid/controllers/rush_job_mongoid_table_update_controller';
|
2
2
|
|
3
3
|
export default class extends RushJobMongoidTableUpdateController {
|
4
4
|
reloadJobs() {
|
data/app/assets/javascript/rush_job_mongoid/controllers/rush_job_mongoid_table_update_controller.js
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
import { Controller } from '@hotwired/stimulus';
|
2
2
|
|
3
3
|
export class RushJobMongoidTableUpdateController extends Controller {
|
4
|
-
updateJobs() {
|
4
|
+
async updateJobs() {
|
5
5
|
const headers = { 'Accept': 'text/vnd.turbo-stream.html' };
|
6
6
|
|
7
7
|
this.blurTable();
|
8
8
|
this.clearFlash();
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
try {
|
11
|
+
const response = await fetch(document.location.href, { headers: headers });
|
12
|
+
|
13
|
+
if (!response.ok) {
|
14
|
+
throw new Error(`Failed to fetch job data. Status: ${response.status}`);
|
15
|
+
}
|
16
|
+
|
17
|
+
const response_text = await response.text();
|
18
|
+
Turbo.renderStreamMessage(response_text);
|
19
|
+
} catch (error) {
|
20
|
+
console.error(error.message);
|
21
|
+
}
|
13
22
|
}
|
14
23
|
|
15
24
|
blurTable() {
|
@@ -13,6 +13,19 @@
|
|
13
13
|
max="6"
|
14
14
|
data-rush-job-mongoid-polling-target="pollingTime"
|
15
15
|
data-action="input->rush-job-mongoid-polling#pollingChange">
|
16
|
+
<div id="rush-job-mongoid-polling-progress"
|
17
|
+
class="progress mb-2"
|
18
|
+
role="progressbar"
|
19
|
+
aria-label="polling progress"
|
20
|
+
aria-valuenow="100"
|
21
|
+
aria-valuemin="0"
|
22
|
+
aria-valuemax="100"
|
23
|
+
style="display: none;"
|
24
|
+
data-rush-job-mongoid-polling-target="progressBar">
|
25
|
+
<div class="progress-bar"
|
26
|
+
style="width: 100%;"
|
27
|
+
data-rush-job-mongoid-polling-target="progressBarProgress"></div>
|
28
|
+
</div>
|
16
29
|
</div>
|
17
30
|
<div class="col-3">
|
18
31
|
<div class="form-check form-switch">
|
data/config/importmap.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
pin 'rush_job_mongoid/application', preload: true
|
2
|
+
pin 'rush_job_mongoid/controllers/rush_job_mongoid_confirm_controller', preload: true
|
3
|
+
pin 'rush_job_mongoid/controllers/rush_job_mongoid_filters_controller', preload: true
|
4
|
+
pin 'rush_job_mongoid/controllers/rush_job_mongoid_polling_controller', preload: true
|
5
|
+
pin 'rush_job_mongoid/controllers/rush_job_mongoid_reload_jobs_table_controller', preload: true
|
6
|
+
pin 'rush_job_mongoid/controllers/rush_job_mongoid_table_update_controller', preload: true
|
2
7
|
pin 'bootstrap', to: 'https://ga.jspm.io/npm:bootstrap@5.3.1/dist/js/bootstrap.esm.js'
|
3
8
|
pin '@popperjs/core', to: 'https://ga.jspm.io/npm:@popperjs/core@2.11.8/lib/index.js'
|
4
9
|
pin '@hotwired/stimulus', to: 'https://ga.jspm.io/npm:@hotwired/stimulus@3.2.2/dist/stimulus.js'
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rush_job_mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JavaKoala
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: actionview
|
@@ -72,14 +71,14 @@ dependencies:
|
|
72
71
|
requirements:
|
73
72
|
- - "~>"
|
74
73
|
- !ruby/object:Gem::Version
|
75
|
-
version: '2.
|
74
|
+
version: '2.1'
|
76
75
|
type: :runtime
|
77
76
|
prerelease: false
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
79
78
|
requirements:
|
80
79
|
- - "~>"
|
81
80
|
- !ruby/object:Gem::Version
|
82
|
-
version: '2.
|
81
|
+
version: '2.1'
|
83
82
|
- !ruby/object:Gem::Dependency
|
84
83
|
name: mongoid
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +127,14 @@ dependencies:
|
|
128
127
|
requirements:
|
129
128
|
- - "~>"
|
130
129
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
130
|
+
version: '7.0'
|
132
131
|
type: :development
|
133
132
|
prerelease: false
|
134
133
|
version_requirements: !ruby/object:Gem::Requirement
|
135
134
|
requirements:
|
136
135
|
- - "~>"
|
137
136
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
137
|
+
version: '7.0'
|
139
138
|
- !ruby/object:Gem::Dependency
|
140
139
|
name: capybara
|
141
140
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,28 +169,28 @@ dependencies:
|
|
170
169
|
requirements:
|
171
170
|
- - "~>"
|
172
171
|
- !ruby/object:Gem::Version
|
173
|
-
version: '1.
|
172
|
+
version: '1.10'
|
174
173
|
type: :development
|
175
174
|
prerelease: false
|
176
175
|
version_requirements: !ruby/object:Gem::Requirement
|
177
176
|
requirements:
|
178
177
|
- - "~>"
|
179
178
|
- !ruby/object:Gem::Version
|
180
|
-
version: '1.
|
179
|
+
version: '1.10'
|
181
180
|
- !ruby/object:Gem::Dependency
|
182
181
|
name: puma
|
183
182
|
requirement: !ruby/object:Gem::Requirement
|
184
183
|
requirements:
|
185
184
|
- - "~>"
|
186
185
|
- !ruby/object:Gem::Version
|
187
|
-
version: '6.
|
186
|
+
version: '6.5'
|
188
187
|
type: :development
|
189
188
|
prerelease: false
|
190
189
|
version_requirements: !ruby/object:Gem::Requirement
|
191
190
|
requirements:
|
192
191
|
- - "~>"
|
193
192
|
- !ruby/object:Gem::Version
|
194
|
-
version: '6.
|
193
|
+
version: '6.5'
|
195
194
|
- !ruby/object:Gem::Dependency
|
196
195
|
name: rubocop-capybara
|
197
196
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,28 +225,28 @@ dependencies:
|
|
226
225
|
requirements:
|
227
226
|
- - "~>"
|
228
227
|
- !ruby/object:Gem::Version
|
229
|
-
version: '2.
|
228
|
+
version: '2.28'
|
230
229
|
type: :development
|
231
230
|
prerelease: false
|
232
231
|
version_requirements: !ruby/object:Gem::Requirement
|
233
232
|
requirements:
|
234
233
|
- - "~>"
|
235
234
|
- !ruby/object:Gem::Version
|
236
|
-
version: '2.
|
235
|
+
version: '2.28'
|
237
236
|
- !ruby/object:Gem::Dependency
|
238
237
|
name: selenium-webdriver
|
239
238
|
requirement: !ruby/object:Gem::Requirement
|
240
239
|
requirements:
|
241
240
|
- - "~>"
|
242
241
|
- !ruby/object:Gem::Version
|
243
|
-
version: '4.
|
242
|
+
version: '4.27'
|
244
243
|
type: :development
|
245
244
|
prerelease: false
|
246
245
|
version_requirements: !ruby/object:Gem::Requirement
|
247
246
|
requirements:
|
248
247
|
- - "~>"
|
249
248
|
- !ruby/object:Gem::Version
|
250
|
-
version: '4.
|
249
|
+
version: '4.27'
|
251
250
|
- !ruby/object:Gem::Dependency
|
252
251
|
name: simplecov
|
253
252
|
requirement: !ruby/object:Gem::Requirement
|
@@ -343,7 +342,6 @@ metadata:
|
|
343
342
|
source_code_uri: https://github.com/JavaKoala/rush_job_mongoid
|
344
343
|
changelog_uri: https://github.com/JavaKoala/rush_job_mongoid
|
345
344
|
rubygems_mfa_required: 'true'
|
346
|
-
post_install_message:
|
347
345
|
rdoc_options: []
|
348
346
|
require_paths:
|
349
347
|
- lib
|
@@ -358,8 +356,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
358
356
|
- !ruby/object:Gem::Version
|
359
357
|
version: '0'
|
360
358
|
requirements: []
|
361
|
-
rubygems_version: 3.
|
362
|
-
signing_key:
|
359
|
+
rubygems_version: 3.6.2
|
363
360
|
specification_version: 4
|
364
361
|
summary: User interface for delayed_job with MongoDB
|
365
362
|
test_files: []
|