pubnub 3.5.1 → 3.5.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pubnub might be problematic. Click here for more details.

Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +6 -0
  3. data/README.md +11 -0
  4. data/VERSION +1 -1
  5. data/examples/demo_console.rb +0 -1
  6. data/fixtures/vcr_cassettes/auth_key_flow_auth_publish.yml +45 -0
  7. data/fixtures/vcr_cassettes/auth_key_flow_empty_auth_audit.yml +44 -0
  8. data/fixtures/vcr_cassettes/auth_key_flow_instead_auth_audit.yml +44 -0
  9. data/fixtures/vcr_cassettes/auth_key_flow_no_auth_publish.yml +45 -0
  10. data/fixtures/vcr_cassettes/auth_key_flow_non_auth_audit.yml +44 -0
  11. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-array.yml +2 -2
  12. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-hash.yml +2 -2
  13. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-integer.yml +2 -2
  14. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-mix.yml +2 -2
  15. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-multi-mix.yml +2 -2
  16. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-string.yml +2 -2
  17. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-array.yml +2 -2
  18. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-hash.yml +2 -2
  19. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-integer.yml +2 -2
  20. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-mix.yml +2 -2
  21. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-string.yml +2 -2
  22. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-array.yml +2 -2
  23. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-hash.yml +2 -2
  24. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-integer.yml +2 -2
  25. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-mix.yml +2 -2
  26. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-multi-mix.yml +2 -2
  27. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-string.yml +2 -2
  28. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-array.yml +2 -2
  29. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-hash.yml +2 -2
  30. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-integer.yml +2 -2
  31. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-mix.yml +2 -2
  32. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-string.yml +2 -2
  33. data/fixtures/vcr_cassettes/heartbeat-non200.yml +519 -0
  34. data/fixtures/vcr_cassettes/heartbeat-test.yml +91 -0
  35. data/fixtures/vcr_cassettes/heartbeated-subscribe.yml +136 -0
  36. data/fixtures/vcr_cassettes/here_now_global-nonssl-block-invalid-200-sync.yml +49 -0
  37. data/fixtures/vcr_cassettes/here_now_global-nonssl-block-invalid-non-200-sync.yml +49 -0
  38. data/fixtures/vcr_cassettes/here_now_global-nonssl-block-valid-200-sync.yml +49 -0
  39. data/fixtures/vcr_cassettes/here_now_global-nonssl-block-valid-non-200-sync.yml +49 -0
  40. data/fixtures/vcr_cassettes/here_now_global-nonssl-parameter-invalid-200-sync.yml +49 -0
  41. data/fixtures/vcr_cassettes/here_now_global-nonssl-parameter-invalid-non-200-sync.yml +49 -0
  42. data/fixtures/vcr_cassettes/here_now_global-nonssl-parameter-valid-200-sync.yml +49 -0
  43. data/fixtures/vcr_cassettes/here_now_global-nonssl-parameter-valid-non-200-sync.yml +49 -0
  44. data/fixtures/vcr_cassettes/here_now_global-ssl-block-invalid-200-sync.yml +49 -0
  45. data/fixtures/vcr_cassettes/here_now_global-ssl-block-invalid-non-200-sync.yml +49 -0
  46. data/fixtures/vcr_cassettes/here_now_global-ssl-block-valid-200-async.yml +49 -0
  47. data/fixtures/vcr_cassettes/here_now_global-ssl-block-valid-200-sync.yml +49 -0
  48. data/fixtures/vcr_cassettes/here_now_global-ssl-block-valid-non-200-sync.yml +49 -0
  49. data/fixtures/vcr_cassettes/here_now_global-ssl-parameter-invalid-200-sync.yml +49 -0
  50. data/fixtures/vcr_cassettes/here_now_global-ssl-parameter-invalid-non-200-sync.yml +49 -0
  51. data/fixtures/vcr_cassettes/here_now_global-ssl-parameter-valid-200-sync.yml +49 -0
  52. data/fixtures/vcr_cassettes/here_now_global-ssl-parameter-valid-non-200-sync.yml +49 -0
  53. data/fixtures/vcr_cassettes/new_ones/multiplexed_subscribe.yml +854 -0
  54. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-array-of-hashes.yml +1 -1
  55. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-http-200-invalid.yml +1 -1
  56. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-http-200-valid.yml +1 -1
  57. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-http-non200-invalid.yml +1 -1
  58. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-http-non200-valid.yml +1 -1
  59. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-https-200-invalid.yml +1 -1
  60. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-https-200-valid.yml +1 -1
  61. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-https-non200-invalid.yml +1 -1
  62. data/fixtures/vcr_cassettes/new_ones/publish/publish-encrypted-https-non200-valid.yml +1 -1
  63. data/fixtures/vcr_cassettes/new_ones/publish/publish-http-200-invalid.yml +1 -1
  64. data/fixtures/vcr_cassettes/new_ones/publish/publish-http-200-valid.yml +1 -1
  65. data/fixtures/vcr_cassettes/new_ones/publish/publish-http-non200-invalid.yml +1 -1
  66. data/fixtures/vcr_cassettes/new_ones/publish/publish-http-non200-valid.yml +1 -1
  67. data/fixtures/vcr_cassettes/new_ones/publish/publish-https-200-invalid.yml +1 -1
  68. data/fixtures/vcr_cassettes/new_ones/publish/publish-https-200-valid.yml +1 -1
  69. data/fixtures/vcr_cassettes/new_ones/publish/publish-https-non200-invalid.yml +1 -1
  70. data/fixtures/vcr_cassettes/new_ones/publish/publish-https-non200-valid.yml +1 -1
  71. data/fixtures/vcr_cassettes/new_ones/publish/publish-plain-array-of-hashes.yml +1 -1
  72. data/fixtures/vcr_cassettes/non-heartbeated-subscribe.yml +44 -0
  73. data/fixtures/vcr_cassettes/pam20.yml +1 -1
  74. data/fixtures/vcr_cassettes/single-event-invalid-json.yml +15 -138
  75. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-invalid-200-async.yml +86 -0
  76. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-invalid-200-sync.yml +86 -0
  77. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-invalid-non-200-async.yml +86 -0
  78. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-invalid-non-200-sync.yml +86 -0
  79. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-valid-200-async.yml +86 -0
  80. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-valid-200-sync.yml +86 -0
  81. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-valid-non-200-async.yml +86 -0
  82. data/fixtures/vcr_cassettes/v3-presence-nonssl-block-valid-non-200-sync.yml +86 -0
  83. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-invalid-200-async.yml +86 -0
  84. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-invalid-200-sync.yml +86 -0
  85. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-invalid-non-200-async.yml +86 -0
  86. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-invalid-non-200-sync.yml +86 -0
  87. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-valid-200-async.yml +86 -0
  88. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-valid-200-sync.yml +86 -0
  89. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-valid-non-200-async.yml +86 -0
  90. data/fixtures/vcr_cassettes/v3-presence-nonssl-parameter-valid-non-200-sync.yml +86 -0
  91. data/fixtures/vcr_cassettes/v3-presence-ssl-block-invalid-200-async.yml +86 -0
  92. data/fixtures/vcr_cassettes/v3-presence-ssl-block-invalid-200-sync.yml +86 -0
  93. data/fixtures/vcr_cassettes/v3-presence-ssl-block-invalid-non-200-async.yml +86 -0
  94. data/fixtures/vcr_cassettes/v3-presence-ssl-block-invalid-non-200-sync.yml +86 -0
  95. data/fixtures/vcr_cassettes/v3-presence-ssl-block-valid-200-async.yml +86 -0
  96. data/fixtures/vcr_cassettes/v3-presence-ssl-block-valid-200-sync.yml +86 -0
  97. data/fixtures/vcr_cassettes/v3-presence-ssl-block-valid-non-200-async.yml +86 -0
  98. data/fixtures/vcr_cassettes/v3-presence-ssl-block-valid-non-200-sync.yml +86 -0
  99. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-invalid-200-async.yml +86 -0
  100. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-invalid-200-sync.yml +86 -0
  101. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-invalid-non-200-async.yml +86 -0
  102. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-invalid-non-200-sync.yml +86 -0
  103. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-valid-200-async.yml +86 -0
  104. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-valid-200-sync.yml +86 -0
  105. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-valid-non-200-async.yml +86 -0
  106. data/fixtures/vcr_cassettes/v3-presence-ssl-parameter-valid-non-200-sync.yml +86 -0
  107. data/lib/pubnub/client.rb +57 -31
  108. data/lib/pubnub/crypto.rb +6 -6
  109. data/lib/pubnub/event.rb +64 -45
  110. data/lib/pubnub/events/heartbeat.rb +59 -0
  111. data/lib/pubnub/events/here_now.rb +19 -10
  112. data/lib/pubnub/events/leave.rb +17 -9
  113. data/lib/pubnub/exceptions.rb +1 -1
  114. data/lib/pubnub/formatter.rb +1 -0
  115. data/lib/pubnub/pam.rb +5 -0
  116. data/lib/version.rb +1 -1
  117. data/pubnub.gemspec +2 -2
  118. data/spec/lib/auth_key_flow_spec.rb +60 -0
  119. data/spec/lib/heartbeat_spec.rb +110 -0
  120. data/spec/lib/integration/global_here_now_spec.rb +541 -0
  121. data/spec/lib/integration/multiplexed_subscribe_flow_spec.rb +44 -0
  122. data/spec/lib/integration/publish_spec.rb +1699 -373
  123. data/spec/lib/integration/publish_spec_old.rb +541 -0
  124. data/spec/lib/integration/v3_presence_spec.rb +557 -0
  125. metadata +68 -4
  126. data/examples/demo_console.rb~ +0 -307
  127. data/spec/lib/new_integration/publish_spec.rb +0 -1867
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://pubsub.pubnub.com/v2/presence/sub-key/demo-36/channel/demo?auth=demoish_authkey&pnsdk=PubNub-Ruby/3.5.2&uuid=rubytests
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Connection:
17
+ - keep-alive
18
+ Keep-Alive:
19
+ - 30
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Mon, 07 Apr 2014 13:40:10 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Content-Length:
30
+ - '84'
31
+ Connection:
32
+ - keep-alive
33
+ Access-Control-Allow-Origin:
34
+ - '*'
35
+ Access-Control-Allow-Methods:
36
+ - GET
37
+ Accept-Ranges:
38
+ - bytes
39
+ Age:
40
+ - '1'
41
+ Server:
42
+ - Pubnub Presence
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status": 200, "message": "OK", "service": "Presence", "uuids": [],
46
+ "occupancy": 0}'
47
+ http_version:
48
+ recorded_at: Mon, 07 Apr 2014 13:40:12 GMT
49
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://pubsub.pubnub.com/v2/presence/sub-key/demo-36/channel/demo?auth=demoish_authkey&pnsdk=PubNub-Ruby/3.5.2&uuid=rubytests
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Connection:
17
+ - keep-alive
18
+ Keep-Alive:
19
+ - 30
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Mon, 07 Apr 2014 13:41:09 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Content-Length:
30
+ - '84'
31
+ Connection:
32
+ - keep-alive
33
+ Access-Control-Allow-Origin:
34
+ - '*'
35
+ Access-Control-Allow-Methods:
36
+ - GET
37
+ Accept-Ranges:
38
+ - bytes
39
+ Age:
40
+ - '0'
41
+ Server:
42
+ - Pubnub Presence
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status": 200, "message": "OK", "service": "Presence", "uuids": [],
46
+ "occupancy": 0}'
47
+ http_version:
48
+ recorded_at: Mon, 07 Apr 2014 13:41:11 GMT
49
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://pubsub.pubnub.com/v2/presence/sub-key/demo-36/channel/demo?auth=demoish_authkey&pnsdk=PubNub-Ruby/3.5.2&uuid=rubytests
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Connection:
17
+ - keep-alive
18
+ Keep-Alive:
19
+ - 30
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Mon, 07 Apr 2014 13:40:09 GMT
27
+ Content-Type:
28
+ - application/json
29
+ Content-Length:
30
+ - '84'
31
+ Connection:
32
+ - keep-alive
33
+ Access-Control-Allow-Origin:
34
+ - '*'
35
+ Access-Control-Allow-Methods:
36
+ - GET
37
+ Accept-Ranges:
38
+ - bytes
39
+ Age:
40
+ - '0'
41
+ Server:
42
+ - Pubnub Presence
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"status": 200, "message": "OK", "service": "Presence", "uuids": [],
46
+ "occupancy": 0}'
47
+ http_version:
48
+ recorded_at: Mon, 07 Apr 2014 13:40:11 GMT
49
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,854 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya/0/0?pnsdk=PubNub-Ruby/3.5.1&uuid=rubytest
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Connection:
17
+ - keep-alive
18
+ Keep-Alive:
19
+ - 30
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Tue, 25 Mar 2014 23:38:50 GMT
27
+ Content-Type:
28
+ - text/javascript; charset="UTF-8"
29
+ Content-Length:
30
+ - '24'
31
+ Connection:
32
+ - keep-alive
33
+ Cache-Control:
34
+ - no-cache
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Allow-Methods:
38
+ - GET
39
+ body:
40
+ encoding: UTF-8
41
+ string: '[[],"13957907308874754"]'
42
+ http_version:
43
+ recorded_at: Tue, 25 Mar 2014 23:38:51 GMT
44
+ - request:
45
+ method: get
46
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13957907308874754?pnsdk=PubNub-Ruby/3.5.1&uuid=rubytest
47
+ body:
48
+ encoding: US-ASCII
49
+ string: ''
50
+ headers:
51
+ Accept-Encoding:
52
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
53
+ Accept:
54
+ - "*/*"
55
+ User-Agent:
56
+ - Ruby
57
+ Connection:
58
+ - keep-alive
59
+ Keep-Alive:
60
+ - 30
61
+ response:
62
+ status:
63
+ code: 200
64
+ message: OK
65
+ headers:
66
+ Date:
67
+ - Tue, 25 Mar 2014 23:38:51 GMT
68
+ Content-Type:
69
+ - text/javascript; charset="UTF-8"
70
+ Content-Length:
71
+ - '118'
72
+ Connection:
73
+ - keep-alive
74
+ Cache-Control:
75
+ - no-cache
76
+ Access-Control-Allow-Origin:
77
+ - "*"
78
+ Access-Control-Allow-Methods:
79
+ - GET
80
+ body:
81
+ encoding: UTF-8
82
+ string: '[[{"action": "join", "timestamp": 1395790731, "uuid": "rubytest", "occupancy":
83
+ 1}],"13957907316294523","rubya-pnpres"]'
84
+ http_version:
85
+ recorded_at: Tue, 25 Mar 2014 23:38:52 GMT
86
+ - request:
87
+ method: get
88
+ uri: http://pubsub.pubnub.com/v2/presence/sub-key/demo/channel/rubyb/leave?pnsdk=PubNub-Ruby/3.5.1&uuid=rubytest
89
+ body:
90
+ encoding: US-ASCII
91
+ string: ''
92
+ headers:
93
+ Accept-Encoding:
94
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
95
+ Accept:
96
+ - "*/*"
97
+ User-Agent:
98
+ - Ruby
99
+ Connection:
100
+ - keep-alive
101
+ Keep-Alive:
102
+ - 30
103
+ response:
104
+ status:
105
+ code: 200
106
+ message: OK
107
+ headers:
108
+ Date:
109
+ - Tue, 25 Mar 2014 23:38:53 GMT
110
+ Content-Type:
111
+ - application/json
112
+ Content-Length:
113
+ - '74'
114
+ Connection:
115
+ - keep-alive
116
+ Access-Control-Allow-Origin:
117
+ - "*"
118
+ Access-Control-Allow-Methods:
119
+ - GET
120
+ Accept-Ranges:
121
+ - bytes
122
+ Age:
123
+ - '0'
124
+ Server:
125
+ - Pubnub Presence
126
+ body:
127
+ encoding: UTF-8
128
+ string: '{"status": 200, "action": "leave", "message": "OK", "service": "Presence"}'
129
+ http_version:
130
+ recorded_at: Tue, 25 Mar 2014 23:38:54 GMT
131
+ - request:
132
+ method: get
133
+ uri: http://pubsub.pubnub.com/v2/presence/sub-key/demo/channel/rubya,rubya-pnpres/leave?pnsdk=PubNub-Ruby/3.5.1&uuid=rubytest
134
+ body:
135
+ encoding: US-ASCII
136
+ string: ''
137
+ headers:
138
+ Accept-Encoding:
139
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
140
+ Accept:
141
+ - "*/*"
142
+ User-Agent:
143
+ - Ruby
144
+ Connection:
145
+ - keep-alive
146
+ Keep-Alive:
147
+ - 30
148
+ response:
149
+ status:
150
+ code: 200
151
+ message: OK
152
+ headers:
153
+ Date:
154
+ - Tue, 25 Mar 2014 23:38:54 GMT
155
+ Content-Type:
156
+ - application/json
157
+ Content-Length:
158
+ - '74'
159
+ Connection:
160
+ - keep-alive
161
+ Access-Control-Allow-Origin:
162
+ - "*"
163
+ Access-Control-Allow-Methods:
164
+ - GET
165
+ Accept-Ranges:
166
+ - bytes
167
+ Age:
168
+ - '0'
169
+ Server:
170
+ - Pubnub Presence
171
+ body:
172
+ encoding: UTF-8
173
+ string: '{"status": 200, "action": "leave", "message": "OK", "service": "Presence"}'
174
+ http_version:
175
+ recorded_at: Tue, 25 Mar 2014 23:38:55 GMT
176
+ - request:
177
+ method: get
178
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13957907316294523?pnsdk=PubNub-Ruby/3.5.1&uuid=rubytest
179
+ body:
180
+ encoding: US-ASCII
181
+ string: ''
182
+ headers:
183
+ Accept-Encoding:
184
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
185
+ Accept:
186
+ - "*/*"
187
+ User-Agent:
188
+ - Ruby
189
+ Connection:
190
+ - keep-alive
191
+ Keep-Alive:
192
+ - 30
193
+ response:
194
+ status:
195
+ code: 200
196
+ message: OK
197
+ headers:
198
+ Date:
199
+ - Tue, 25 Mar 2014 23:38:54 GMT
200
+ Content-Type:
201
+ - text/javascript; charset="UTF-8"
202
+ Content-Length:
203
+ - '119'
204
+ Connection:
205
+ - keep-alive
206
+ Cache-Control:
207
+ - no-cache
208
+ Access-Control-Allow-Origin:
209
+ - "*"
210
+ Access-Control-Allow-Methods:
211
+ - GET
212
+ body:
213
+ encoding: UTF-8
214
+ string: '[[{"action": "leave", "timestamp": 1395790734, "uuid": "rubytest",
215
+ "occupancy": 0}],"13957907346369289","rubya-pnpres"]'
216
+ http_version:
217
+ recorded_at: Tue, 25 Mar 2014 23:38:55 GMT
218
+ - request:
219
+ method: get
220
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13957907316294523?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
221
+ body:
222
+ encoding: US-ASCII
223
+ string: ''
224
+ headers:
225
+ Accept-Encoding:
226
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
227
+ Accept:
228
+ - "*/*"
229
+ User-Agent:
230
+ - Ruby
231
+ Connection:
232
+ - keep-alive
233
+ Keep-Alive:
234
+ - 30
235
+ response:
236
+ status:
237
+ code: 200
238
+ message: OK
239
+ headers:
240
+ Date:
241
+ - Thu, 10 Apr 2014 09:43:29 GMT
242
+ Content-Type:
243
+ - text/javascript; charset="UTF-8"
244
+ Content-Length:
245
+ - '212'
246
+ Connection:
247
+ - keep-alive
248
+ Cache-Control:
249
+ - no-cache
250
+ Access-Control-Allow-Origin:
251
+ - "*"
252
+ Access-Control-Allow-Methods:
253
+ - GET
254
+ body:
255
+ encoding: UTF-8
256
+ string: '[[{"action": "join", "timestamp": 1397121920, "uuid": "rubytest", "occupancy":
257
+ 1},{"action": "leave", "timestamp": 1397121922, "uuid": "rubytest", "occupancy":
258
+ 0}],"13971219228057096","rubya-pnpres,rubya-pnpres"]'
259
+ http_version:
260
+ recorded_at: Thu, 10 Apr 2014 09:43:29 GMT
261
+ - request:
262
+ method: get
263
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13971219228057096?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
264
+ body:
265
+ encoding: US-ASCII
266
+ string: ''
267
+ headers:
268
+ Accept-Encoding:
269
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
270
+ Accept:
271
+ - "*/*"
272
+ User-Agent:
273
+ - Ruby
274
+ Connection:
275
+ - keep-alive
276
+ Keep-Alive:
277
+ - 30
278
+ response:
279
+ status:
280
+ code: 200
281
+ message: OK
282
+ headers:
283
+ Date:
284
+ - Thu, 10 Apr 2014 09:43:29 GMT
285
+ Content-Type:
286
+ - text/javascript; charset="UTF-8"
287
+ Content-Length:
288
+ - '118'
289
+ Connection:
290
+ - keep-alive
291
+ Cache-Control:
292
+ - no-cache
293
+ Access-Control-Allow-Origin:
294
+ - "*"
295
+ Access-Control-Allow-Methods:
296
+ - GET
297
+ body:
298
+ encoding: UTF-8
299
+ string: '[[{"action": "join", "timestamp": 1397123009, "uuid": "rubytest", "occupancy":
300
+ 1}],"13971230098578330","rubya-pnpres"]'
301
+ http_version:
302
+ recorded_at: Thu, 10 Apr 2014 09:43:30 GMT
303
+ - request:
304
+ method: get
305
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13971219228057096?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
306
+ body:
307
+ encoding: US-ASCII
308
+ string: ''
309
+ headers:
310
+ Accept-Encoding:
311
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
312
+ Accept:
313
+ - "*/*"
314
+ User-Agent:
315
+ - Ruby
316
+ Connection:
317
+ - keep-alive
318
+ Keep-Alive:
319
+ - 30
320
+ response:
321
+ status:
322
+ code: 200
323
+ message: OK
324
+ headers:
325
+ Date:
326
+ - Thu, 10 Apr 2014 09:43:29 GMT
327
+ Content-Type:
328
+ - text/javascript; charset="UTF-8"
329
+ Content-Length:
330
+ - '118'
331
+ Connection:
332
+ - keep-alive
333
+ Cache-Control:
334
+ - no-cache
335
+ Access-Control-Allow-Origin:
336
+ - "*"
337
+ Access-Control-Allow-Methods:
338
+ - GET
339
+ body:
340
+ encoding: UTF-8
341
+ string: '[[{"action": "join", "timestamp": 1397123009, "uuid": "rubytest", "occupancy":
342
+ 1}],"13971230098578330","rubya-pnpres"]'
343
+ http_version:
344
+ recorded_at: Thu, 10 Apr 2014 09:43:30 GMT
345
+ - request:
346
+ method: get
347
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13971230098578330?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
348
+ body:
349
+ encoding: US-ASCII
350
+ string: ''
351
+ headers:
352
+ Accept-Encoding:
353
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
354
+ Accept:
355
+ - "*/*"
356
+ User-Agent:
357
+ - Ruby
358
+ Connection:
359
+ - keep-alive
360
+ Keep-Alive:
361
+ - 30
362
+ response:
363
+ status:
364
+ code: 200
365
+ message: OK
366
+ headers:
367
+ Date:
368
+ - Thu, 10 Apr 2014 09:43:32 GMT
369
+ Content-Type:
370
+ - text/javascript; charset="UTF-8"
371
+ Content-Length:
372
+ - '119'
373
+ Connection:
374
+ - keep-alive
375
+ Cache-Control:
376
+ - no-cache
377
+ Access-Control-Allow-Origin:
378
+ - "*"
379
+ Access-Control-Allow-Methods:
380
+ - GET
381
+ body:
382
+ encoding: UTF-8
383
+ string: '[[{"action": "leave", "timestamp": 1397123012, "uuid": "rubytest",
384
+ "occupancy": 0}],"13971230124148836","rubya-pnpres"]'
385
+ http_version:
386
+ recorded_at: Thu, 10 Apr 2014 09:43:33 GMT
387
+ - request:
388
+ method: get
389
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13971230098578330?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
390
+ body:
391
+ encoding: US-ASCII
392
+ string: ''
393
+ headers:
394
+ Accept-Encoding:
395
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
396
+ Accept:
397
+ - "*/*"
398
+ User-Agent:
399
+ - Ruby
400
+ Connection:
401
+ - keep-alive
402
+ Keep-Alive:
403
+ - 30
404
+ response:
405
+ status:
406
+ code: 200
407
+ message: OK
408
+ headers:
409
+ Date:
410
+ - Thu, 10 Apr 2014 09:55:44 GMT
411
+ Content-Type:
412
+ - text/javascript; charset="UTF-8"
413
+ Content-Length:
414
+ - '119'
415
+ Connection:
416
+ - keep-alive
417
+ Cache-Control:
418
+ - no-cache
419
+ Access-Control-Allow-Origin:
420
+ - "*"
421
+ Access-Control-Allow-Methods:
422
+ - GET
423
+ body:
424
+ encoding: UTF-8
425
+ string: '[[{"action": "leave", "timestamp": 1397123012, "uuid": "rubytest",
426
+ "occupancy": 0}],"13971230124148836","rubya-pnpres"]'
427
+ http_version:
428
+ recorded_at: Thu, 10 Apr 2014 09:55:45 GMT
429
+ - request:
430
+ method: get
431
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13971230124148836?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
432
+ body:
433
+ encoding: US-ASCII
434
+ string: ''
435
+ headers:
436
+ Accept-Encoding:
437
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
438
+ Accept:
439
+ - "*/*"
440
+ User-Agent:
441
+ - Ruby
442
+ Connection:
443
+ - keep-alive
444
+ Keep-Alive:
445
+ - 30
446
+ response:
447
+ status:
448
+ code: 200
449
+ message: OK
450
+ headers:
451
+ Date:
452
+ - Thu, 10 Apr 2014 09:55:45 GMT
453
+ Content-Type:
454
+ - text/javascript; charset="UTF-8"
455
+ Content-Length:
456
+ - '118'
457
+ Connection:
458
+ - keep-alive
459
+ Cache-Control:
460
+ - no-cache
461
+ Access-Control-Allow-Origin:
462
+ - "*"
463
+ Access-Control-Allow-Methods:
464
+ - GET
465
+ body:
466
+ encoding: UTF-8
467
+ string: '[[{"action": "join", "timestamp": 1397123745, "uuid": "rubytest", "occupancy":
468
+ 1}],"13971237458320282","rubya-pnpres"]'
469
+ http_version:
470
+ recorded_at: Thu, 10 Apr 2014 09:55:46 GMT
471
+ - request:
472
+ method: get
473
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13971237458320282?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
474
+ body:
475
+ encoding: US-ASCII
476
+ string: ''
477
+ headers:
478
+ Accept-Encoding:
479
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
480
+ Accept:
481
+ - "*/*"
482
+ User-Agent:
483
+ - Ruby
484
+ Connection:
485
+ - keep-alive
486
+ Keep-Alive:
487
+ - 30
488
+ response:
489
+ status:
490
+ code: 200
491
+ message: OK
492
+ headers:
493
+ Date:
494
+ - Thu, 10 Apr 2014 09:55:47 GMT
495
+ Content-Type:
496
+ - text/javascript; charset="UTF-8"
497
+ Content-Length:
498
+ - '119'
499
+ Connection:
500
+ - keep-alive
501
+ Cache-Control:
502
+ - no-cache
503
+ Access-Control-Allow-Origin:
504
+ - "*"
505
+ Access-Control-Allow-Methods:
506
+ - GET
507
+ body:
508
+ encoding: UTF-8
509
+ string: '[[{"action": "leave", "timestamp": 1397123747, "uuid": "rubytest",
510
+ "occupancy": 0}],"13971237476735298","rubya-pnpres"]'
511
+ http_version:
512
+ recorded_at: Thu, 10 Apr 2014 09:55:48 GMT
513
+ - request:
514
+ method: get
515
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya/0/0?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
516
+ body:
517
+ encoding: US-ASCII
518
+ string: ''
519
+ headers:
520
+ Accept-Encoding:
521
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
522
+ Accept:
523
+ - "*/*"
524
+ User-Agent:
525
+ - Ruby
526
+ Connection:
527
+ - keep-alive
528
+ Keep-Alive:
529
+ - 30
530
+ response:
531
+ status:
532
+ code: 200
533
+ message: OK
534
+ headers:
535
+ Date:
536
+ - Thu, 10 Apr 2014 10:55:26 GMT
537
+ Content-Type:
538
+ - text/javascript; charset="UTF-8"
539
+ Content-Length:
540
+ - '24'
541
+ Connection:
542
+ - keep-alive
543
+ Cache-Control:
544
+ - no-cache
545
+ Access-Control-Allow-Origin:
546
+ - "*"
547
+ Access-Control-Allow-Methods:
548
+ - GET
549
+ body:
550
+ encoding: UTF-8
551
+ string: '[[],"13971273265030001"]'
552
+ http_version:
553
+ recorded_at: Thu, 10 Apr 2014 10:55:28 GMT
554
+ - request:
555
+ method: get
556
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13971273265030001?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
557
+ body:
558
+ encoding: US-ASCII
559
+ string: ''
560
+ headers:
561
+ Accept-Encoding:
562
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
563
+ Accept:
564
+ - "*/*"
565
+ User-Agent:
566
+ - Ruby
567
+ Connection:
568
+ - keep-alive
569
+ Keep-Alive:
570
+ - 30
571
+ response:
572
+ status:
573
+ code: 200
574
+ message: OK
575
+ headers:
576
+ Date:
577
+ - Thu, 10 Apr 2014 10:55:27 GMT
578
+ Content-Type:
579
+ - text/javascript; charset="UTF-8"
580
+ Content-Length:
581
+ - '118'
582
+ Connection:
583
+ - keep-alive
584
+ Cache-Control:
585
+ - no-cache
586
+ Access-Control-Allow-Origin:
587
+ - "*"
588
+ Access-Control-Allow-Methods:
589
+ - GET
590
+ body:
591
+ encoding: UTF-8
592
+ string: '[[{"action": "join", "timestamp": 1397127327, "uuid": "rubytest", "occupancy":
593
+ 1}],"13971273273594767","rubya-pnpres"]'
594
+ http_version:
595
+ recorded_at: Thu, 10 Apr 2014 10:55:29 GMT
596
+ - request:
597
+ method: get
598
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres/0/13971273265030001?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
599
+ body:
600
+ encoding: US-ASCII
601
+ string: ''
602
+ headers:
603
+ Accept-Encoding:
604
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
605
+ Accept:
606
+ - "*/*"
607
+ User-Agent:
608
+ - Ruby
609
+ Connection:
610
+ - keep-alive
611
+ Keep-Alive:
612
+ - 30
613
+ response:
614
+ status:
615
+ code: 200
616
+ message: OK
617
+ headers:
618
+ Date:
619
+ - Thu, 10 Apr 2014 10:55:27 GMT
620
+ Content-Type:
621
+ - text/javascript; charset="UTF-8"
622
+ Content-Length:
623
+ - '118'
624
+ Connection:
625
+ - keep-alive
626
+ Cache-Control:
627
+ - no-cache
628
+ Access-Control-Allow-Origin:
629
+ - "*"
630
+ Access-Control-Allow-Methods:
631
+ - GET
632
+ body:
633
+ encoding: UTF-8
634
+ string: '[[{"action": "join", "timestamp": 1397127327, "uuid": "rubytest", "occupancy":
635
+ 1}],"13971273273594767","rubya-pnpres"]'
636
+ http_version:
637
+ recorded_at: Thu, 10 Apr 2014 10:55:29 GMT
638
+ - request:
639
+ method: get
640
+ uri: http://pubsub.pubnub.com/v2/presence/sub-key/demo/channel/rubyb/leave?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
641
+ body:
642
+ encoding: US-ASCII
643
+ string: ''
644
+ headers:
645
+ Accept-Encoding:
646
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
647
+ Accept:
648
+ - "*/*"
649
+ User-Agent:
650
+ - Ruby
651
+ Connection:
652
+ - keep-alive
653
+ Keep-Alive:
654
+ - 30
655
+ response:
656
+ status:
657
+ code: 200
658
+ message: OK
659
+ headers:
660
+ Date:
661
+ - Thu, 10 Apr 2014 10:55:29 GMT
662
+ Content-Type:
663
+ - application/json
664
+ Content-Length:
665
+ - '74'
666
+ Connection:
667
+ - keep-alive
668
+ Access-Control-Allow-Origin:
669
+ - "*"
670
+ Access-Control-Allow-Methods:
671
+ - GET
672
+ Accept-Ranges:
673
+ - bytes
674
+ Age:
675
+ - '0'
676
+ Server:
677
+ - Pubnub Presence
678
+ body:
679
+ encoding: UTF-8
680
+ string: '{"status": 200, "action": "leave", "message": "OK", "service": "Presence"}'
681
+ http_version:
682
+ recorded_at: Thu, 10 Apr 2014 10:55:30 GMT
683
+ - request:
684
+ method: get
685
+ uri: http://pubsub.pubnub.com/v2/presence/sub-key/demo/channel/rubya,rubya-pnpres/leave?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
686
+ body:
687
+ encoding: US-ASCII
688
+ string: ''
689
+ headers:
690
+ Accept-Encoding:
691
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
692
+ Accept:
693
+ - "*/*"
694
+ User-Agent:
695
+ - Ruby
696
+ Connection:
697
+ - keep-alive
698
+ Keep-Alive:
699
+ - 30
700
+ response:
701
+ status:
702
+ code: 200
703
+ message: OK
704
+ headers:
705
+ Date:
706
+ - Thu, 10 Apr 2014 10:55:30 GMT
707
+ Content-Type:
708
+ - application/json
709
+ Content-Length:
710
+ - '74'
711
+ Connection:
712
+ - keep-alive
713
+ Access-Control-Allow-Origin:
714
+ - "*"
715
+ Access-Control-Allow-Methods:
716
+ - GET
717
+ Accept-Ranges:
718
+ - bytes
719
+ Age:
720
+ - '0'
721
+ Server:
722
+ - Pubnub Presence
723
+ body:
724
+ encoding: UTF-8
725
+ string: '{"status": 200, "action": "leave", "message": "OK", "service": "Presence"}'
726
+ http_version:
727
+ recorded_at: Thu, 10 Apr 2014 10:55:32 GMT
728
+ - request:
729
+ method: get
730
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13971237458320282?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
731
+ body:
732
+ encoding: US-ASCII
733
+ string: ''
734
+ headers:
735
+ Accept-Encoding:
736
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
737
+ Accept:
738
+ - "*/*"
739
+ User-Agent:
740
+ - Ruby
741
+ Connection:
742
+ - keep-alive
743
+ Keep-Alive:
744
+ - 30
745
+ response:
746
+ status:
747
+ code: 200
748
+ message: OK
749
+ headers:
750
+ Date:
751
+ - Thu, 10 Apr 2014 11:01:19 GMT
752
+ Content-Type:
753
+ - text/javascript; charset="UTF-8"
754
+ Content-Length:
755
+ - '119'
756
+ Connection:
757
+ - keep-alive
758
+ Cache-Control:
759
+ - no-cache
760
+ Access-Control-Allow-Origin:
761
+ - "*"
762
+ Access-Control-Allow-Methods:
763
+ - GET
764
+ body:
765
+ encoding: UTF-8
766
+ string: '[[{"action": "leave", "timestamp": 1397127330, "uuid": "rubytest",
767
+ "occupancy": 0}],"13971273307891067","rubya-pnpres"]'
768
+ http_version:
769
+ recorded_at: Thu, 10 Apr 2014 11:01:21 GMT
770
+ - request:
771
+ method: get
772
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13971273307891067?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
773
+ body:
774
+ encoding: US-ASCII
775
+ string: ''
776
+ headers:
777
+ Accept-Encoding:
778
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
779
+ Accept:
780
+ - "*/*"
781
+ User-Agent:
782
+ - Ruby
783
+ Connection:
784
+ - keep-alive
785
+ Keep-Alive:
786
+ - 30
787
+ response:
788
+ status:
789
+ code: 200
790
+ message: OK
791
+ headers:
792
+ Date:
793
+ - Thu, 10 Apr 2014 11:01:19 GMT
794
+ Content-Type:
795
+ - text/javascript; charset="UTF-8"
796
+ Content-Length:
797
+ - '118'
798
+ Connection:
799
+ - keep-alive
800
+ Cache-Control:
801
+ - no-cache
802
+ Access-Control-Allow-Origin:
803
+ - "*"
804
+ Access-Control-Allow-Methods:
805
+ - GET
806
+ body:
807
+ encoding: UTF-8
808
+ string: '[[{"action": "join", "timestamp": 1397127679, "uuid": "rubytest", "occupancy":
809
+ 1}],"13971276796901375","rubya-pnpres"]'
810
+ http_version:
811
+ recorded_at: Thu, 10 Apr 2014 11:01:21 GMT
812
+ - request:
813
+ method: get
814
+ uri: http://pubsub.pubnub.com/subscribe/demo/rubya,rubya-pnpres,rubyb/0/13971276796901375?pnsdk=PubNub-Ruby/3.5.2&uuid=rubytest
815
+ body:
816
+ encoding: US-ASCII
817
+ string: ''
818
+ headers:
819
+ Accept-Encoding:
820
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
821
+ Accept:
822
+ - "*/*"
823
+ User-Agent:
824
+ - Ruby
825
+ Connection:
826
+ - keep-alive
827
+ Keep-Alive:
828
+ - 30
829
+ response:
830
+ status:
831
+ code: 200
832
+ message: OK
833
+ headers:
834
+ Date:
835
+ - Thu, 10 Apr 2014 11:01:21 GMT
836
+ Content-Type:
837
+ - text/javascript; charset="UTF-8"
838
+ Content-Length:
839
+ - '119'
840
+ Connection:
841
+ - keep-alive
842
+ Cache-Control:
843
+ - no-cache
844
+ Access-Control-Allow-Origin:
845
+ - "*"
846
+ Access-Control-Allow-Methods:
847
+ - GET
848
+ body:
849
+ encoding: UTF-8
850
+ string: '[[{"action": "leave", "timestamp": 1397127681, "uuid": "rubytest",
851
+ "occupancy": 0}],"13971276816999536","rubya-pnpres"]'
852
+ http_version:
853
+ recorded_at: Thu, 10 Apr 2014 11:01:23 GMT
854
+ recorded_with: VCR 2.9.0