foreign_office 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cbf32739fee81b0bc8be61f18f585e721dd01736
4
- data.tar.gz: e42d37d55f26e121d7a83c100da65c9cc26214fd
3
+ metadata.gz: 300dd8aad853ee5a438fc0976b5fd943eac67e70
4
+ data.tar.gz: 279eb09e8ad4f1f4d403830bcde2cc900073e0a4
5
5
  SHA512:
6
- metadata.gz: cc81bc349c49729151305bdd30342b4579e13576fd71eaad7a8ab65a32f81b49332f2ab3f513649a5443c5ebb0503a88918b83dfe69c6098a6b1e9413b0cf41a
7
- data.tar.gz: b4a5b2ca24a7edb259078888ca1b29391a2da2be4fde9d6b49a359e925c612c9cb3d2f75637779bc5fe2d888e5080dc7a0dcad2861dda93b22a010da38f29d16
6
+ metadata.gz: 402b06c38119021ea3053d9241d2ebf88b435cd3380b998df8424aac6596015d081086527b23f4557173da9d584bcac3e33bebfb5b111441b7b54ede459af6d0
7
+ data.tar.gz: 6bb06bb83e532c3a0b88b8b00521da8e9ccd9ca7d8def368f5389c569b062f1d026a09524dc520efd8ce0de68b6830b805f8288334ffa0a623bde5b598868107
@@ -0,0 +1,75 @@
1
+ //Anytime loader, simulates load events for ajax requests
2
+ String.prototype.toCapCamel = function(){
3
+ camel = this.replace(/[-_]([a-z])/g, function (g) { return g.replace(/[-_]/,'').charAt(0).toUpperCase(); });
4
+ return camel.charAt(0).toUpperCase() + camel.slice(1);
5
+ };
6
+
7
+ var AnyTimeManager = Class.extend({
8
+ init: function(){
9
+ this.loader_array = []
10
+ },
11
+ register: function(data_attribute,load_method,base_class){
12
+ this.loader_array.push({data_attribute: data_attribute, base_class: base_class, load_method: load_method});
13
+ },
14
+ registerList: function(list){
15
+ var anytime_manager = this;
16
+ $.each(list,function(){
17
+ anytime_manager.register(this + '','instantiate',null)
18
+ })
19
+ },
20
+ registerListWithClasses: function(list){
21
+ var anytime_manager = this;
22
+ $.each(list,function(attr,klass){
23
+ anytime_manager.register(attr,'instantiate',klass)
24
+ })
25
+ },
26
+ registerRunList: function(list){
27
+ var anytime_manager = this;
28
+ $.each(list,function(attr,method){
29
+ anytime_manager.register(attr,method,null)
30
+ })
31
+ },
32
+ instantiate: function(jq_obj, class_name){
33
+ if(!jq_obj.data('anytime_loaded')){
34
+ jq_obj.data('anytime_loaded',true);
35
+ var this_class = eval(class_name);
36
+ new this_class(jq_obj);
37
+ }
38
+ },
39
+ run: function (jq_obj, resource, method_name){
40
+ if(!jq_obj.data('anytime_run')){
41
+ jq_obj.data('anytime_run',true);
42
+ resource[method_name](jq_obj);
43
+ }
44
+ },
45
+ load: function(){
46
+ var any_time_manager = this;
47
+ $.each(any_time_manager.loader_array,function(){
48
+ var data_attribute = this['data_attribute'];
49
+ var base_class = this['base_class'];
50
+ if(!base_class){
51
+ base_class = data_attribute.toCapCamel();
52
+ }
53
+ var this_method = this['load_method'];
54
+ $('[data-' + data_attribute + ']').each(function(){
55
+ if('instantiate' == this_method){
56
+ var declared_class = $(this).data('sub-type');
57
+ var this_class = getSubClass(declared_class,base_class);
58
+ any_time_manager.instantiate($(this),this_class);
59
+ }else{
60
+ any_time_manager.run($(this),base_class,this_method);
61
+ }
62
+
63
+ });
64
+ });
65
+ }
66
+ });
67
+ any_time_manager = new AnyTimeManager();
68
+ $(document).ajaxComplete(function(){
69
+ any_time_manager.load();
70
+ });
71
+ $(document).ready(function(){
72
+ any_time_manager.load();
73
+ });
74
+
75
+ // End AnyTime library
@@ -2,6 +2,7 @@
2
2
  var DebugLogger = Class.extend({
3
3
  init: function($debug_settings){
4
4
  if($debug_settings.data('logging_on')){
5
+ console.log('Debug logging turned on.')
5
6
  this.logging_on = true;
6
7
  } else {
7
8
  this.logging_on = false;
@@ -14,6 +15,9 @@ var DebugLogger = Class.extend({
14
15
  }
15
16
  })
16
17
 
18
+ debug_logger = {
19
+ log: function(){}
20
+ }
17
21
  $(document).ready(function(){
18
22
  if($('[data-debug_logger]')){
19
23
  jqobj = $('[data-debug_logger]');
@@ -2,6 +2,7 @@
2
2
  //= require pubnub_bus
3
3
  //= require pusher_bus
4
4
  //= require test_bus
5
+ //= require anytime_manager
5
6
 
6
7
  var ForeignOffice = Class.extend({
7
8
  init: function(){
@@ -10,9 +11,8 @@ var ForeignOffice = Class.extend({
10
11
  },
11
12
  config: function(config){
12
13
  bus_class = eval(config.bus_name);
13
- third_party_library = this.library_name_for(config.bus_name)
14
14
  try {
15
- bus_class = eval(third_party_library)
15
+ eval(bus_class.third_party_library)
16
16
  }
17
17
  catch(err){
18
18
  bus_class = TestBus
@@ -34,10 +34,6 @@ var ForeignOffice = Class.extend({
34
34
  },
35
35
  channelNames: function(){
36
36
  return $.map(this.channels,function(channel){return channel.channel_name});
37
- },
38
- library_name_for: function(bus_name){
39
- var library_map = {PubnubBus: 'PUBNUB', PusherBus: 'Pusher'}
40
- return library_map[bus_name]
41
37
  }
42
38
  });
43
39
 
@@ -178,61 +174,4 @@ var ForeignOfficeColor = ForeignOfficeListener.extend({
178
174
  }
179
175
  });
180
176
 
181
- //Anytime loader, needs to be extracted into its own library
182
-
183
- var AnyTimeManager = Class.extend({
184
- init: function(){
185
- this.loader_array = []
186
- },
187
- register: function(data_attribute,base_class,load_method){
188
- this.loader_array.push({data_attribute: data_attribute, base_class: base_class, load_method: load_method});
189
- },
190
- instantiate: function(jq_obj, class_name){
191
- if(!jq_obj.data('anytime_loaded')){
192
- jq_obj.data('anytime_loaded',true);
193
- var this_class = eval(class_name);
194
- new this_class(jq_obj);
195
- }
196
- },
197
- run: function (jq_obj, resource, method_name){
198
- if(!jq_obj.data('anytime_run')){
199
- jq_obj.data('anytime_run',true);
200
- resource[method_name](jq_obj);
201
- }
202
- },
203
- load: function(){
204
- var any_time_manager = this;
205
- $.each(any_time_manager.loader_array,function(){
206
- var data_attribute = this['data_attribute'];
207
- var base_class = this['base_class'];
208
- var this_method = this['load_method'];
209
- $('[data-' + data_attribute + ']').each(function(){
210
- if('instantiate' == this_method){
211
- var declared_class = $(this).data(data_attribute);
212
- var this_class = getSubClass(declared_class,base_class);
213
- any_time_manager.instantiate($(this),this_class);
214
- }else{
215
- any_time_manager.run($(this),base_class,this_method);
216
- }
217
-
218
- });
219
- });
220
- }
221
- });
222
- var AnytimeLoader = Class.extend({
223
- init: function(jq_obj){
224
- this.jq_obj = jq_obj;
225
- jq_obj.data('anytime_loaded',true);
226
- }
227
- });
228
- any_time_manager = new AnyTimeManager();
229
- $(document).ajaxComplete(function(){
230
- any_time_manager.load();
231
- });
232
- $(document).ready(function(){
233
- any_time_manager.load();
234
- });
235
-
236
- // End AnyTime library
237
-
238
- any_time_manager.register('listener',foreign_office,'addListener');
177
+ any_time_manager.register('listener','addListener',foreign_office);
@@ -17,3 +17,4 @@ var PubnubBus = Class.extend({
17
17
 
18
18
  }
19
19
  })
20
+ PubnubBus.third_party_library = 'PUBNUB'
@@ -7,6 +7,6 @@ var PusherBus = Class.extend({
7
7
  this.channel.bind('publish', function(data){
8
8
  subscription.callback(data);
9
9
  })
10
- },
11
- third_party_library: 'Pusher'
10
+ }
12
11
  })
12
+ PusherBus.third_party_library = 'Pusher'
@@ -23,7 +23,7 @@ module ForeignOffice
23
23
  def self.bus
24
24
  @bus
25
25
  end
26
-
26
+
27
27
  def self.set_publish_method(&block)
28
28
  @publish_method = block
29
29
  end
@@ -32,6 +32,10 @@ module ForeignOffice
32
32
  @publish_method
33
33
  end
34
34
 
35
+ def self.unset_publish_method
36
+ @publish_method = nil
37
+ end
38
+
35
39
  def self.publish(message)
36
40
  Rails.logger.debug("ForeignOffice.publish: #{message.inspect}")
37
41
  if !!@cache_messages
@@ -1,3 +1,3 @@
1
1
  module ForeignOffice
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
File without changes
@@ -0,0 +1,413 @@
1
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
2
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
3
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
4
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
5
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
6
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
7
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
8
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
9
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
10
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
11
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
12
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
13
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
14
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
15
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
16
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
17
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
18
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
19
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
20
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
21
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
22
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
23
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
24
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
25
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
26
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
27
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
28
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
29
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
30
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
31
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
32
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
33
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
34
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
35
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
36
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
37
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
38
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
39
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
40
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
41
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
42
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
43
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
44
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
45
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
46
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
47
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
48
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
49
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
50
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
51
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
52
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
53
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
54
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
55
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
56
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
57
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
58
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
59
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
60
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
61
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
62
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
63
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
64
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
65
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
66
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
67
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
68
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
69
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
70
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
71
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
72
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
73
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
74
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
75
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
76
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
77
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
78
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
79
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
80
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
81
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
82
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
83
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
84
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
85
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
86
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
87
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
88
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
89
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
90
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
91
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
92
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
93
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
94
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
95
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
96
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
97
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
98
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
99
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
100
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
101
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
102
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
103
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
104
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
105
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
106
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
107
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
108
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
109
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
110
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
111
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
112
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
113
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
114
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
115
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
116
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
117
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
118
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
119
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
120
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
121
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
122
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
123
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
124
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
125
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
126
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
127
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
128
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
129
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
130
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
131
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
132
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
133
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
134
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
135
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
136
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
137
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
138
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
139
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
140
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
141
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
142
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
143
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
144
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
145
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
146
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
147
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
148
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
149
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
150
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
151
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
152
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
153
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
154
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
155
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
156
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
157
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
158
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
159
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
160
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
161
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
162
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
163
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
164
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
165
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
166
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
167
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
168
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
169
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
170
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
171
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
172
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
173
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
174
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
175
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
176
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
177
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
178
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
179
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
180
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
181
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
182
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
183
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
184
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
185
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
186
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
187
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
188
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
189
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
190
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
191
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
192
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
193
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
194
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
195
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
196
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
197
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
198
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
199
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
200
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
201
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
202
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
203
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
204
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
205
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
206
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
207
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
208
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
209
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
210
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
211
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
212
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
213
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
214
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
215
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
216
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
217
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
218
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
219
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
220
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
221
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
222
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
223
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
224
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
225
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
226
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
227
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
228
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
229
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
230
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
231
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
232
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
233
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
234
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
235
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
236
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
237
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
238
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
239
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
240
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
241
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
242
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
243
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
244
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
245
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
246
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
247
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
248
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
249
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
250
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
251
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
252
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
253
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
254
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
255
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
256
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
257
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
258
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
259
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
260
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
261
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
262
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
263
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
264
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
265
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
266
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
267
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
268
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
269
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
270
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
271
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
272
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
273
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
274
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
275
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
276
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
277
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
278
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
279
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
280
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
281
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
282
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
283
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
284
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
285
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
286
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
287
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
288
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
289
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
290
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
291
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
292
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
293
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
294
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
295
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
296
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
297
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
298
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
299
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
300
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
301
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
302
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
303
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
304
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
305
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
306
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
307
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
308
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
309
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
310
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
311
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
312
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
313
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
314
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
315
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
316
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
317
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
318
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
319
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
320
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
321
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
322
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
323
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
324
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
325
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
326
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
327
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
328
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
329
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
330
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
331
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
332
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
333
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
334
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
335
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
336
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
337
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
338
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
339
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
340
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
341
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
342
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
343
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
344
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
345
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
346
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
347
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
348
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
349
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
350
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
351
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
352
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
353
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
354
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
355
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
356
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
357
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
358
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
359
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
360
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
361
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
362
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
363
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
364
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
365
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
366
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
367
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
368
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
369
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
370
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
371
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
372
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
373
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
374
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
375
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
376
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
377
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
378
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
379
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
380
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
381
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
382
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
383
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
384
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
385
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
386
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
387
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
388
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
389
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
390
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
391
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
392
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
393
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
394
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
395
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
396
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
397
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
398
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
399
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
400
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
401
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
402
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
403
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
404
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
405
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
406
+ ForeignOffice.publish: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
407
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
408
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMeAgain", :object=>{:this=>"is another test"}}
409
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
410
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is another test"}}
411
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
412
+ ForeignOffice.publish: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
413
+ ForeignOffice#publish! attempt: 1 message: {:channel=>"TestMe", :object=>{:this=>"is a test"}}
@@ -26,25 +26,25 @@ class ForeignOfficeTest < MiniTest::Unit::TestCase
26
26
  @bus.expect :publish, nil, [{channel: 'TestMe', object: {this: 'is a test'}}]
27
27
  @bus.expect :publish, nil, [{channel: 'TestMeAgain', object: {this: 'is another test'}}]
28
28
  ForeignOffice.flush_messages
29
- @bus.verify
29
+ @bus.verify
30
30
  end
31
31
  end
32
32
  describe "doesn't have to cache" do
33
- before do
34
- ForeignOffice.publish_directly
35
- end
36
33
  it "publishes messages directly when not caching" do
34
+ ForeignOffice.publish_directly
37
35
  @bus.expect :publish, nil, [{channel: 'TestMe', object: {this: 'is a test'}}]
38
36
  ForeignOffice.publish({channel: 'TestMe', object: {this: 'is a test'}})
39
- @bus.verify
37
+ @bus.verify
40
38
  end
41
39
  end
42
40
  describe "offers custom publishing" do
43
41
  it "publishes with a custom method if provided" do
44
- ForeignOffice.set_publish_method { |msg| p @bus.custom_publish msg }
42
+ ForeignOffice.publish_directly
45
43
  @bus.expect :custom_publish, nil, [{channel: 'TestMe', object: {this: 'is a test'}}]
44
+ ForeignOffice.set_publish_method { |msg| @bus.custom_publish msg}
46
45
  ForeignOffice.publish({channel: 'TestMe', object: {this: 'is a test'}})
47
- @bus.verify
46
+ @bus.verify
47
+ ForeignOffice.unset_publish_method
48
48
  end
49
49
  end
50
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreign_office
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Draut
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-10-21 00:00:00.000000000 Z
12
+ date: 2015-01-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -76,6 +76,7 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - MIT-LICENSE
78
78
  - Rakefile
79
+ - app/assets/javascripts/anytime_manager.js
79
80
  - app/assets/javascripts/debug_logger.js
80
81
  - app/assets/javascripts/foreign_office.js
81
82
  - app/assets/javascripts/pubnub_bus.js
@@ -118,6 +119,8 @@ files:
118
119
  - test/dummy/config/locales/en.yml
119
120
  - test/dummy/config/routes.rb
120
121
  - test/dummy/config/secrets.yml
122
+ - test/dummy/db/test.sqlite3
123
+ - test/dummy/log/test.log
121
124
  - test/dummy/public/404.html
122
125
  - test/dummy/public/422.html
123
126
  - test/dummy/public/500.html
@@ -144,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
147
  version: '0'
145
148
  requirements: []
146
149
  rubyforge_project:
147
- rubygems_version: 2.2.2
150
+ rubygems_version: 2.4.3
148
151
  signing_key:
149
152
  specification_version: 4
150
153
  summary: A light framework that provides functionality for listeners on web clients
@@ -178,6 +181,8 @@ test_files:
178
181
  - test/dummy/config/routes.rb
179
182
  - test/dummy/config/secrets.yml
180
183
  - test/dummy/config.ru
184
+ - test/dummy/db/test.sqlite3
185
+ - test/dummy/log/test.log
181
186
  - test/dummy/public/404.html
182
187
  - test/dummy/public/422.html
183
188
  - test/dummy/public/500.html