job_notifier 0.2.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +3 -3
- data/app/assets/javascripts/job_notifier/notifier.js +29 -8
- data/app/controllers/job_notifier/jobs_controller.rb +6 -2
- data/app/models/job_notifier/job.rb +6 -5
- data/config/routes.rb +2 -2
- data/lib/job_notifier/version.rb +1 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/log/development.log +4427 -0
- data/spec/dummy/log/test.log +2439 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-s/-suRtCfYOrTPh-OYY_74XGPh7Y6oP7DNwW0rmfDQo_Q.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0O/0OFmEWsMx6euelJWKFS8HanAuWO_TZMHG1uMmquv5h8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1J/1JULcnb-2BG9tGGg5mEwew36P4Hr3c_VfIQLeNMk6WI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2c/2cgGDmk7SKekjJSg2f7CR7PjzZ-zZfTAEMyUWkXkgKg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/69/699d-7Piuy3wrCEnLKBYtYIU4ByLplxbmZc7_NdfzkQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9g/9glnI10sS2b7IsCc6d6xWEqsTy_skQkAk0v0ZGi0qOE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cs/CsgITdnoK8_gEUOO-VFmXXdSp3U2e2JCyNXec6FRZlY.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gr/Gr5cnGXW1doXQYl_NygCfejoZ0PgoBoLCpK0dgiuTuI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hu/HuBvYcAhJ5vYOW9Ko26tqT7XXu9hylRYzU_OF8VCeMk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KS/KSu-e9FI0Befm9W35SASRLJt1yP2Bc9-qKxfztbqHOg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O_/O_5AhRZ4iT0lKBOJhL0aHovX5Ut0l16558Bv_lAvKmU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RB/RBcQtU6eGW-wUSyFqwLPrxxnhu70_H49VDjhfcpbnTI.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SE/SEQbWr78CyYx7rnnRZf7GS-LJTSPfqUA3uJ8KY1G3PQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TQ/TQq5V1ljP9OD-SLRVx6E6CrdloMrdKkkjEeN-IaL5tI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_F/_FTCX8IrNz1itvWzXzhUhRUtxvOBhuTCX8na3YEnNu0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/de/deF1cWmXYITgRhwvrAebLHKAIiPlcnxy_3W-HyQaRso.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jK/JKLSg7t3eFfbV-roK53Pd82dr3GgzUfrnr8Xeu7xzco.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jK/jKTjv3mxE2jqqYhMwTTGbVpv3K0GXlcmuwm6eicRyxE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mv/mv-DEGhJGa4KLFMCPc6WmoIGGb4ru6XKw8bKcufo86c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/na/navl-SipsWFdoSUzYKfmf7ej4IZO6GYglHSNI33e6xI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uF/uFF9qxosnliXunEcEOURgkrao0So6iH72S6UiiTKBFk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xD/xDxvKXU0_bX2ppXE6mJFn-J0wMRqwWQNGNMJyVhiXXM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yi/yim5rbExV0wwLjPRDfnymvZTgAttZZaT4cTn0iNNPP8.cache +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/models/job_notifier/job_spec.rb +18 -3
- metadata +50 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a68d1d5104e379f3ada2d94b7c32b034fbdb73e0
|
4
|
+
data.tar.gz: 01ba5257b1ebbf75d5846577a19e385a1e8bf587
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9aab43a3f1e70c51225c8a8ea4676eac6dc86b282d839943d11961ee5849e64b804f6dd965bee08a9afa62942e59d8a911022fc3c13d89000bae45e30e05a692
|
7
|
+
data.tar.gz: 24986bffc98509d1134ef828d510440918d005de91e079e281526555e80eadd28b91b532c9cfa25f06446fc1e70ddc928fc2d19e865132dbb8cf26d6227e2c15
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
### v1.0.0
|
6
|
+
|
7
|
+
#### Added
|
8
|
+
|
9
|
+
- Replace `GET /jobs` with `GET /:identifier/jobs/pending` and `PUT /:identifier/jobs/notify` to mark jobs as notified in a second step.
|
10
|
+
|
5
11
|
### v0.2.1
|
6
12
|
|
7
13
|
#### Fixed
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
job_notifier (0.
|
4
|
+
job_notifier (1.0.0)
|
5
5
|
enumerize (~> 1.0.0, ~> 1.0)
|
6
6
|
rails (~> 4.2, >= 4.2.0)
|
7
7
|
|
@@ -65,9 +65,9 @@ GEM
|
|
65
65
|
mail (2.6.4)
|
66
66
|
mime-types (>= 1.16, < 4)
|
67
67
|
method_source (0.8.2)
|
68
|
-
mime-types (3.
|
68
|
+
mime-types (3.1)
|
69
69
|
mime-types-data (~> 3.2015)
|
70
|
-
mime-types-data (3.2016.
|
70
|
+
mime-types-data (3.2016.0521)
|
71
71
|
mini_portile2 (2.0.0)
|
72
72
|
minitest (5.8.4)
|
73
73
|
nokogiri (1.6.7.2)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
(function(window){
|
2
2
|
'use strict';
|
3
3
|
function defineLibrary(){
|
4
|
+
var MILLISECONDS_TO_GET_JOBS = 5000;
|
4
5
|
var JobNotifier = {};
|
5
6
|
|
6
7
|
JobNotifier.init = function() {
|
@@ -12,24 +13,44 @@
|
|
12
13
|
}
|
13
14
|
|
14
15
|
JobNotifier.rootUrl = body.dataset.rootUrl;
|
15
|
-
|
16
|
+
JobNotifier.findJobs();
|
16
17
|
};
|
17
18
|
|
18
|
-
JobNotifier.
|
19
|
+
JobNotifier.performRequest = function(method, action, onLoadCallback) {
|
19
20
|
var oReq = new XMLHttpRequest();
|
20
|
-
oReq.onload =
|
21
|
+
oReq.onload = onLoadCallback;
|
21
22
|
oReq.onerror = JobNotifier.onError;
|
22
|
-
var url = JobNotifier.rootUrl + 'job_notifier/
|
23
|
-
oReq.open(
|
23
|
+
var url = JobNotifier.rootUrl + 'job_notifier/' + JobNotifier.jobIdentifier + '/jobs/' + action + '.json';
|
24
|
+
oReq.open(method, url, true);
|
24
25
|
oReq.send();
|
25
26
|
};
|
26
27
|
|
27
|
-
JobNotifier.
|
28
|
+
JobNotifier.findJobs = function() {
|
29
|
+
setTimeout(JobNotifier.findPendingJobs, MILLISECONDS_TO_GET_JOBS);
|
30
|
+
};
|
31
|
+
|
32
|
+
JobNotifier.findPendingJobs = function() {
|
33
|
+
JobNotifier.performRequest('get', 'pending', JobNotifier.onPendingJobsLoad);
|
34
|
+
};
|
35
|
+
|
36
|
+
JobNotifier.notifyJobs = function() {
|
37
|
+
JobNotifier.performRequest('put', 'notify', JobNotifier.onNotifyJobsLoad);
|
38
|
+
};
|
39
|
+
|
40
|
+
JobNotifier.onPendingJobsLoad = function() {
|
28
41
|
var data = JSON.parse(this.responseText);
|
29
42
|
|
30
|
-
if(data.length
|
31
|
-
JobNotifier.
|
43
|
+
if(data.length === 0) {
|
44
|
+
JobNotifier.findJobs();
|
45
|
+
return;
|
32
46
|
}
|
47
|
+
|
48
|
+
JobNotifier.onNotify(data);
|
49
|
+
JobNotifier.notifyJobs();
|
50
|
+
};
|
51
|
+
|
52
|
+
JobNotifier.onNotifyJobsLoad = function() {
|
53
|
+
JobNotifier.findJobs();
|
33
54
|
};
|
34
55
|
|
35
56
|
JobNotifier.onNotify = function(data) {
|
@@ -3,8 +3,12 @@ module JobNotifier
|
|
3
3
|
skip_before_action :verify_authenticity_token
|
4
4
|
|
5
5
|
def index
|
6
|
-
|
7
|
-
|
6
|
+
render json: Job.unnotified_by_identifier(params[:identifier])
|
7
|
+
end
|
8
|
+
|
9
|
+
def update
|
10
|
+
Job.notify_by_identifier(params[:identifier])
|
11
|
+
head :no_content
|
8
12
|
end
|
9
13
|
end
|
10
14
|
end
|
@@ -12,11 +12,12 @@ module JobNotifier
|
|
12
12
|
job.update_columns(result: data.to_s, status: status, notified: false)
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.unnotified_by_identifier
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
def self.unnotified_by_identifier(encoded_identifier)
|
16
|
+
JobNotifier::Job.where(identifier: encoded_identifier).where(notified: false)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.notify_by_identifier(encoded_identifier)
|
20
|
+
unnotified_by_identifier(encoded_identifier).update_all(notified: true)
|
20
21
|
end
|
21
22
|
end
|
22
23
|
end
|
data/config/routes.rb
CHANGED
data/lib/job_notifier/version.rb
CHANGED
Binary file
|