jsbus 0.1.2 → 0.1.3
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.
- data/lib/jsbus/version.rb +1 -1
- data/vendor/assets/javascripts/jsbus.js +22 -23
- metadata +2 -2
data/lib/jsbus/version.rb
CHANGED
@@ -7,9 +7,13 @@
|
|
7
7
|
EventBus = (function() {
|
8
8
|
|
9
9
|
function EventBus() {
|
10
|
-
this.subscribers =
|
10
|
+
this.subscribers = {};
|
11
11
|
}
|
12
12
|
|
13
|
+
EventBus.prototype.createEvent = function(eventType, data, callback) {
|
14
|
+
return new Event(eventType, data, callback);
|
15
|
+
};
|
16
|
+
|
13
17
|
EventBus.prototype.publish = function(eventType, data, callback) {
|
14
18
|
var eventTypes;
|
15
19
|
eventTypes = [].concat(eventType);
|
@@ -21,7 +25,7 @@
|
|
21
25
|
};
|
22
26
|
|
23
27
|
EventBus.prototype.reset = function() {
|
24
|
-
return this.subscribers =
|
28
|
+
return this.subscribers = {};
|
25
29
|
};
|
26
30
|
|
27
31
|
EventBus.prototype.subscribe = function(eventType, callback) {
|
@@ -31,24 +35,19 @@
|
|
31
35
|
};
|
32
36
|
|
33
37
|
EventBus.prototype.unsubscribe = function(eventType) {
|
34
|
-
var eventTypes, subscriber,
|
38
|
+
var eventTypes, subscriber, _i, _j, _len, _len1, _ref, _results;
|
35
39
|
eventTypes = [].concat(eventType);
|
36
40
|
_results = [];
|
37
41
|
for (_i = 0, _len = eventTypes.length; _i < _len; _i++) {
|
38
42
|
eventType = eventTypes[_i];
|
39
|
-
|
40
|
-
_ref = this.subscribers;
|
43
|
+
_ref = this.subscribers[eventType];
|
41
44
|
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
42
45
|
subscriber = _ref[_j];
|
43
|
-
|
44
|
-
|
45
|
-
}
|
46
|
-
this.publish("EventBus.unsubscribed", {
|
47
|
-
subscriber: subscriber
|
48
|
-
});
|
49
|
-
}
|
46
|
+
this.publish("EventBus.unsubscribed", {
|
47
|
+
subscriber: subscriber
|
48
|
+
});
|
50
49
|
}
|
51
|
-
_results.push(this.subscribers =
|
50
|
+
_results.push(this.subscribers[eventType] = []);
|
52
51
|
}
|
53
52
|
return _results;
|
54
53
|
};
|
@@ -63,6 +62,7 @@
|
|
63
62
|
this.eventType = eventType;
|
64
63
|
this.data = data != null ? data : {};
|
65
64
|
this.callback = callback;
|
65
|
+
this.timestamp = Date.now().toString();
|
66
66
|
}
|
67
67
|
|
68
68
|
Event.prototype.push = function(subscriber) {
|
@@ -93,7 +93,7 @@
|
|
93
93
|
_results = [];
|
94
94
|
for (_i = 0, _len = eventTypes.length; _i < _len; _i++) {
|
95
95
|
eventType = eventTypes[_i];
|
96
|
-
event =
|
96
|
+
event = eventBus.createEvent(eventType, eventData, callback);
|
97
97
|
_results.push(pushEventToSubscribers(eventBus, event));
|
98
98
|
}
|
99
99
|
return _results;
|
@@ -104,25 +104,24 @@
|
|
104
104
|
};
|
105
105
|
|
106
106
|
pushEventToSubscribers = function(eventBus, event) {
|
107
|
-
var subscriber, _i, _len, _ref, _results;
|
108
|
-
_ref = eventBus.subscribers;
|
107
|
+
var subscriber, subscribers, _i, _len, _ref, _results;
|
108
|
+
subscribers = (_ref = eventBus.subscribers[event.eventType]) != null ? _ref : [];
|
109
109
|
_results = [];
|
110
|
-
for (_i = 0, _len =
|
111
|
-
subscriber =
|
112
|
-
|
113
|
-
_results.push(event.push(subscriber));
|
114
|
-
}
|
110
|
+
for (_i = 0, _len = subscribers.length; _i < _len; _i++) {
|
111
|
+
subscriber = subscribers[_i];
|
112
|
+
_results.push(event.push(subscriber));
|
115
113
|
}
|
116
114
|
return _results;
|
117
115
|
};
|
118
116
|
|
119
117
|
subscribeToEventType = function(eventBus, eventTypes, callback) {
|
120
|
-
var eventType, subscriber, _i, _len, _results;
|
118
|
+
var eventType, subscriber, _i, _len, _ref, _results;
|
121
119
|
_results = [];
|
122
120
|
for (_i = 0, _len = eventTypes.length; _i < _len; _i++) {
|
123
121
|
eventType = eventTypes[_i];
|
124
122
|
subscriber = new Subscriber(eventType, callback);
|
125
|
-
eventBus.subscribers.
|
123
|
+
eventBus.subscribers[eventType] = (_ref = eventBus.subscribers[eventType]) != null ? _ref : [];
|
124
|
+
eventBus.subscribers[eventType].push(subscriber);
|
126
125
|
_results.push(eventBus.publish("EventBus.subscribed", {
|
127
126
|
subscriber: subscriber
|
128
127
|
}));
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsbus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|