rspectacles 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +46 -0
- data/Rakefile +1 -0
- data/bin/rspectacles +16 -0
- data/lib/rspectacles/app/public/css/style.css +24 -0
- data/lib/rspectacles/app/public/js/chart.js +129 -0
- data/lib/rspectacles/app/public/js/d3.js +8810 -0
- data/lib/rspectacles/app/public/js/exampleStream.js +42 -0
- data/lib/rspectacles/app/public/js/jquery.js +8829 -0
- data/lib/rspectacles/app/public/js/pathtree.js +51 -0
- data/lib/rspectacles/app/public/js/plates.js +666 -0
- data/lib/rspectacles/app/public/js/require.js +2053 -0
- data/lib/rspectacles/app/public/js/riffle.js +200 -0
- data/lib/rspectacles/app/public/js/script.js +26 -0
- data/lib/rspectacles/app/views/index.erb +29 -0
- data/lib/rspectacles/app.rb +60 -0
- data/lib/rspectacles/redis_formatter.rb +84 -0
- data/lib/rspectacles/version.rb +3 -0
- data/lib/rspectacles.rb +1 -0
- data/rspectacles.gemspec +27 -0
- data/spec/javascripts/resources/qunit.css +244 -0
- data/spec/javascripts/resources/qunit.js +2212 -0
- data/spec/javascripts/test.html +20 -0
- data/spec/javascripts/tests/pathtree_spec.js +21 -0
- metadata +155 -0
@@ -0,0 +1,42 @@
|
|
1
|
+
/*global define: true EventSource: true */
|
2
|
+
define(['riffle'], function (riffle) {
|
3
|
+
'use strict';
|
4
|
+
|
5
|
+
return function streams(uri) {
|
6
|
+
var stream = riffle.stream
|
7
|
+
, me
|
8
|
+
, events
|
9
|
+
, matching
|
10
|
+
, toJson
|
11
|
+
, stringEvents
|
12
|
+
, eventToString
|
13
|
+
;
|
14
|
+
|
15
|
+
events = stream(function (o, i) {
|
16
|
+
new EventSource(uri).addEventListener('message', o);
|
17
|
+
}).invoke();
|
18
|
+
|
19
|
+
eventToString = stream(function (o, i) {
|
20
|
+
o(i.data);
|
21
|
+
});
|
22
|
+
|
23
|
+
matching = function (regex) {
|
24
|
+
return stream(function (o, i) {
|
25
|
+
if (i.match(regex)) { o(i); }
|
26
|
+
});
|
27
|
+
};
|
28
|
+
|
29
|
+
toJson = stream(function (o, i) {
|
30
|
+
o(JSON.parse(i));
|
31
|
+
});
|
32
|
+
|
33
|
+
stringEvents = eventToString.input(events);
|
34
|
+
|
35
|
+
return me = {
|
36
|
+
message: matching(/^message:/).input(stringEvents)
|
37
|
+
, start: matching(/^status:start/).input(stringEvents)
|
38
|
+
, stop: matching(/^status:stop/).input(stringEvents)
|
39
|
+
, example: toJson.input(matching(/^\{/).input(stringEvents))
|
40
|
+
};
|
41
|
+
};
|
42
|
+
});
|