pusher-fake 1.9.0 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/pusher-fake +2 -0
- data/lib/pusher-fake.rb +1 -3
- data/lib/pusher-fake/configuration.rb +8 -1
- data/lib/pusher-fake/server/application.rb +2 -3
- data/spec/features/server/webhooks_spec.rb +24 -14
- data/spec/lib/pusher-fake/channel_spec.rb +3 -3
- data/spec/lib/pusher-fake/configuration_spec.rb +16 -6
- data/spec/lib/pusher-fake/server/application_spec.rb +17 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/support/application/public/javascripts/vendor/{pusher-4.2.1.js → pusher-4.2.2.js} +13 -9
- data/spec/support/application/views/index.erb +1 -1
- data/spec/support/capybara.rb +1 -0
- data/spec/support/webhooks.rb +12 -10
- metadata +19 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d164bb85fcc0e139fada900d4703abb1340319cc595cb31d4add51d90f4b5ac3
|
4
|
+
data.tar.gz: 55d1cfda30b76adca304332495d9e5cab16c788bf07d15aa8e85b6be695ed11a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d8eee35e30bd8e6ec013d4cb9b196beb542c4fa4b3802defa4a26dde91cc18db64801133cbbe922b7475d0fa3c030d5f9660217375d6d49df38353698a0bf96
|
7
|
+
data.tar.gz: 9d8fa2e40e6c5dc158df21df74dcafca0f358a876163e9eab844d00c43ac67eb8cd5786e2955797449926b842c21462133fa57848ab4b4f6d96c9199252499b6
|
data/bin/pusher-fake
CHANGED
data/lib/pusher-fake.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# rubocop:disable Naming/FileName
|
2
|
-
|
3
1
|
require "em-http-request"
|
4
2
|
require "em-websocket"
|
5
3
|
require "multi_json"
|
@@ -9,7 +7,7 @@ require "thin"
|
|
9
7
|
# A Pusher fake.
|
10
8
|
module PusherFake
|
11
9
|
# The current version string.
|
12
|
-
VERSION = "1.
|
10
|
+
VERSION = "1.10.0".freeze
|
13
11
|
|
14
12
|
autoload :Channel, "pusher-fake/channel"
|
15
13
|
autoload :Configuration, "pusher-fake/configuration"
|
@@ -2,7 +2,7 @@ module PusherFake
|
|
2
2
|
# Configuration class.
|
3
3
|
class Configuration
|
4
4
|
# @return [String] The Pusher Applicaiton ID. (Defaults to +PUSHER_APP_ID+.)
|
5
|
-
|
5
|
+
attr_reader :app_id
|
6
6
|
|
7
7
|
# @return [String] The Pusher API key. (Defaults to +PUSHER_API_KEY+.)
|
8
8
|
attr_accessor :key
|
@@ -34,6 +34,13 @@ module PusherFake
|
|
34
34
|
reset!
|
35
35
|
end
|
36
36
|
|
37
|
+
# Assign the application ID, ensuring it's a string.
|
38
|
+
#
|
39
|
+
# @params [Integer|String] id The application ID.
|
40
|
+
def app_id=(id)
|
41
|
+
@app_id = id.to_s
|
42
|
+
end
|
43
|
+
|
37
44
|
def reset!
|
38
45
|
self.app_id = "PUSHER_APP_ID"
|
39
46
|
self.key = "PUSHER_API_KEY"
|
@@ -28,7 +28,7 @@ module PusherFake
|
|
28
28
|
response = response_for(request)
|
29
29
|
|
30
30
|
Rack::Response.new(MultiJson.dump(response)).finish
|
31
|
-
rescue => error
|
31
|
+
rescue StandardError => error
|
32
32
|
Rack::Response.new(error.message, 400).finish
|
33
33
|
end
|
34
34
|
|
@@ -143,8 +143,6 @@ module PusherFake
|
|
143
143
|
{ users: users || [] }
|
144
144
|
end
|
145
145
|
|
146
|
-
private_class_method
|
147
|
-
|
148
146
|
# Emit an event with data to the requested channel(s).
|
149
147
|
#
|
150
148
|
# @param [Hash] event The raw event JSON.
|
@@ -158,6 +156,7 @@ module PusherFake
|
|
158
156
|
channel.emit(event["name"], data, socket_id: event["socket_id"])
|
159
157
|
end
|
160
158
|
end
|
159
|
+
private_class_method :send_event
|
161
160
|
# rubocop:enable Style/RescueModifier
|
162
161
|
end
|
163
162
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# rubocop:disable Style/GlobalVars
|
2
|
-
|
3
1
|
require "spec_helper"
|
4
2
|
|
5
3
|
feature "Receiving event webhooks" do
|
@@ -8,6 +6,10 @@ feature "Receiving event webhooks" do
|
|
8
6
|
let(:presence_channel) { "presence-room-1" }
|
9
7
|
|
10
8
|
before do
|
9
|
+
events.clear
|
10
|
+
|
11
|
+
PusherFake.configuration.webhooks = ["http://127.0.0.1:8082"]
|
12
|
+
|
11
13
|
connect
|
12
14
|
connect_as(other_user)
|
13
15
|
end
|
@@ -15,11 +17,11 @@ feature "Receiving event webhooks" do
|
|
15
17
|
scenario "occupying a channel" do
|
16
18
|
subscribe_to(channel)
|
17
19
|
|
18
|
-
expect(
|
20
|
+
expect(events).to include_event("channel_occupied", "channel" => channel)
|
19
21
|
|
20
22
|
subscribe_to_as(channel, other_user)
|
21
23
|
|
22
|
-
expect(
|
24
|
+
expect(events.size).to eq(1)
|
23
25
|
end
|
24
26
|
|
25
27
|
scenario "vacating a channel" do
|
@@ -28,24 +30,24 @@ feature "Receiving event webhooks" do
|
|
28
30
|
|
29
31
|
unsubscribe_from(channel)
|
30
32
|
|
31
|
-
expect(
|
33
|
+
expect(events.size).to eq(1)
|
32
34
|
|
33
35
|
unsubscribe_from_as(channel, other_user)
|
34
36
|
|
35
|
-
expect(
|
37
|
+
expect(events).to include_event("channel_vacated", "channel" => channel)
|
36
38
|
end
|
37
39
|
|
38
40
|
scenario "subscribing to a presence channel" do
|
39
41
|
subscribe_to(presence_channel)
|
40
42
|
|
41
|
-
expect(
|
43
|
+
expect(events).to include_event(
|
42
44
|
"member_added",
|
43
45
|
"channel" => presence_channel, "user_id" => user_id
|
44
46
|
)
|
45
47
|
|
46
48
|
subscribe_to_as(presence_channel, other_user)
|
47
49
|
|
48
|
-
expect(
|
50
|
+
expect(events).to include_event(
|
49
51
|
"member_added",
|
50
52
|
"channel" => presence_channel, "user_id" => user_id(other_user)
|
51
53
|
)
|
@@ -57,19 +59,27 @@ feature "Receiving event webhooks" do
|
|
57
59
|
|
58
60
|
unsubscribe_from(presence_channel)
|
59
61
|
|
60
|
-
expect(
|
61
|
-
|
62
|
-
|
62
|
+
expect(events).to include_event("member_added",
|
63
|
+
"channel" => presence_channel,
|
64
|
+
"user_id" => user_id)
|
63
65
|
|
64
66
|
unsubscribe_from_as(presence_channel, other_user)
|
65
67
|
|
66
|
-
expect(
|
67
|
-
|
68
|
-
|
68
|
+
expect(events).to include_event("member_added",
|
69
|
+
"channel" => presence_channel,
|
70
|
+
"user_id" => user_id(other_user))
|
69
71
|
end
|
70
72
|
|
71
73
|
protected
|
72
74
|
|
75
|
+
def events
|
76
|
+
sleep(1)
|
77
|
+
|
78
|
+
WebhookHelper.mutex.synchronize do
|
79
|
+
WebhookHelper.events
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
73
83
|
def include_event(event, options = {})
|
74
84
|
include(options.merge("name" => event))
|
75
85
|
end
|
@@ -36,21 +36,21 @@ describe PusherFake::Channel, ".factory" do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
context "
|
39
|
+
context "with a public channel" do
|
40
40
|
let(:name) { "channel" }
|
41
41
|
let(:channel_class) { PusherFake::Channel::Public }
|
42
42
|
|
43
43
|
it_behaves_like "a channel factory"
|
44
44
|
end
|
45
45
|
|
46
|
-
context "
|
46
|
+
context "with a private channel" do
|
47
47
|
let(:name) { "private-channel" }
|
48
48
|
let(:channel_class) { PusherFake::Channel::Private }
|
49
49
|
|
50
50
|
it_behaves_like "a channel factory"
|
51
51
|
end
|
52
52
|
|
53
|
-
context "
|
53
|
+
context "with a presence channel" do
|
54
54
|
let(:name) { "presence-channel" }
|
55
55
|
let(:channel_class) { PusherFake::Channel::Presence }
|
56
56
|
|
@@ -2,32 +2,32 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe PusherFake::Configuration do
|
4
4
|
it do
|
5
|
-
|
5
|
+
expect(subject).to have_configuration_option(:key)
|
6
6
|
.with_default("PUSHER_API_KEY")
|
7
7
|
end
|
8
8
|
|
9
9
|
it do
|
10
|
-
|
10
|
+
expect(subject).to have_configuration_option(:logger)
|
11
11
|
.with_default(STDOUT.to_io)
|
12
12
|
end
|
13
13
|
|
14
14
|
it do
|
15
|
-
|
15
|
+
expect(subject).to have_configuration_option(:verbose)
|
16
16
|
.with_default(false)
|
17
17
|
end
|
18
18
|
|
19
19
|
it do
|
20
|
-
|
20
|
+
expect(subject).to have_configuration_option(:webhooks)
|
21
21
|
.with_default([])
|
22
22
|
end
|
23
23
|
|
24
24
|
it do
|
25
|
-
|
25
|
+
expect(subject).to have_configuration_option(:app_id)
|
26
26
|
.with_default("PUSHER_APP_ID")
|
27
27
|
end
|
28
28
|
|
29
29
|
it do
|
30
|
-
|
30
|
+
expect(subject).to have_configuration_option(:secret)
|
31
31
|
.with_default("PUSHER_API_SECRET")
|
32
32
|
end
|
33
33
|
|
@@ -48,6 +48,16 @@ describe PusherFake::Configuration do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
describe PusherFake::Configuration, "#app_id=" do
|
52
|
+
subject { described_class.new }
|
53
|
+
|
54
|
+
it "converts value to a string" do
|
55
|
+
subject.app_id = 1_337
|
56
|
+
|
57
|
+
expect(subject.app_id).to eq("1337")
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
51
61
|
describe PusherFake::Configuration, "#to_options" do
|
52
62
|
it "includes the socket host as wsHost" do
|
53
63
|
options = subject.to_options
|
@@ -48,6 +48,23 @@ shared_examples_for "an API request" do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
describe PusherFake::Server::Application, ".call, with a numeric ID" do
|
52
|
+
it_behaves_like "an API request" do
|
53
|
+
let(:id) { Time.now.to_i }
|
54
|
+
let(:path) { "/apps/#{id}/events" }
|
55
|
+
|
56
|
+
before do
|
57
|
+
PusherFake.configuration.app_id = id
|
58
|
+
|
59
|
+
allow(subject).to receive(:events).and_return(hash)
|
60
|
+
end
|
61
|
+
|
62
|
+
after do
|
63
|
+
PusherFake.configuration.app_id = "PUSHER_APP_ID"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
51
68
|
describe PusherFake::Server::Application, ".call, for triggering events" do
|
52
69
|
it_behaves_like "an API request" do
|
53
70
|
let(:id) { PusherFake.configuration.app_id }
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Pusher JavaScript Library v4.2.
|
2
|
+
* Pusher JavaScript Library v4.2.2
|
3
3
|
* https://pusher.com/
|
4
4
|
*
|
5
5
|
* Copyright 2017, Pusher
|
@@ -89,7 +89,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
89
89
|
var _this = this;
|
90
90
|
checkAppKey(app_key);
|
91
91
|
options = options || {};
|
92
|
-
if (!options.cluster) {
|
92
|
+
if (!options.cluster && !(options.wsHost || options.httpHost)) {
|
93
93
|
var suffix = url_store_1["default"].buildLogSuffix("javascriptQuickStart");
|
94
94
|
logger_1["default"].warn("You should always specify a cluster when connecting. " + suffix);
|
95
95
|
}
|
@@ -476,11 +476,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
476
476
|
|
477
477
|
"use strict";
|
478
478
|
var Defaults = {
|
479
|
-
VERSION: "4.2.
|
479
|
+
VERSION: "4.2.2",
|
480
480
|
PROTOCOL: 7,
|
481
481
|
host: 'ws.pusherapp.com',
|
482
482
|
ws_port: 80,
|
483
483
|
wss_port: 443,
|
484
|
+
ws_path: '',
|
484
485
|
sockjs_host: 'sockjs.pusher.com',
|
485
486
|
sockjs_http_port: 80,
|
486
487
|
sockjs_https_port: 443,
|
@@ -629,7 +630,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
629
630
|
args[_i - 0] = arguments[_i];
|
630
631
|
}
|
631
632
|
var message = collections_1.stringify.apply(this, arguments);
|
632
|
-
if (
|
633
|
+
if (pusher_1["default"].log) {
|
634
|
+
pusher_1["default"].log(message);
|
635
|
+
}
|
636
|
+
else if ((window).console) {
|
633
637
|
if ((window).console.warn) {
|
634
638
|
(window).console.warn(message);
|
635
639
|
}
|
@@ -637,9 +641,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
637
641
|
(window).console.log(message);
|
638
642
|
}
|
639
643
|
}
|
640
|
-
if (pusher_1["default"].log) {
|
641
|
-
pusher_1["default"].log(message);
|
642
|
-
}
|
643
644
|
}
|
644
645
|
};
|
645
646
|
exports.__esModule = true;
|
@@ -1339,7 +1340,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1339
1340
|
}
|
1340
1341
|
exports.ws = {
|
1341
1342
|
getInitial: function (key, params) {
|
1342
|
-
|
1343
|
+
var path = (params.httpPath || "") + getGenericPath(key, "flash=false");
|
1344
|
+
return getGenericURL("ws", params, path);
|
1343
1345
|
}
|
1344
1346
|
};
|
1345
1347
|
exports.http = {
|
@@ -1725,7 +1727,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1725
1727
|
return [
|
1726
1728
|
[":def", "ws_options", {
|
1727
1729
|
hostUnencrypted: config.wsHost + ":" + config.wsPort,
|
1728
|
-
hostEncrypted: config.wsHost + ":" + config.wssPort
|
1730
|
+
hostEncrypted: config.wsHost + ":" + config.wssPort,
|
1731
|
+
httpPath: config.wsPath
|
1729
1732
|
}],
|
1730
1733
|
[":def", "wss_options", [":extend", ":ws_options", {
|
1731
1734
|
encrypted: true
|
@@ -4153,6 +4156,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
4153
4156
|
wsHost: defaults_1["default"].host,
|
4154
4157
|
wsPort: defaults_1["default"].ws_port,
|
4155
4158
|
wssPort: defaults_1["default"].wss_port,
|
4159
|
+
wsPath: defaults_1["default"].ws_path,
|
4156
4160
|
httpHost: defaults_1["default"].sockjs_host,
|
4157
4161
|
httpPort: defaults_1["default"].sockjs_http_port,
|
4158
4162
|
httpsPort: defaults_1["default"].sockjs_https_port,
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<ul></ul>
|
14
14
|
</section>
|
15
15
|
|
16
|
-
<script src="/javascripts/vendor/pusher-4.2.
|
16
|
+
<script src="/javascripts/vendor/pusher-4.2.2.js"></script>
|
17
17
|
<script>
|
18
18
|
Pusher.instance = <%= PusherFake.javascript %>;
|
19
19
|
Pusher.instance.connection.bind("state_change", function(states) {
|
data/spec/support/capybara.rb
CHANGED
data/spec/support/webhooks.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
|
1
|
+
class WebhookHelper
|
2
|
+
def self.events
|
3
|
+
@events ||= []
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.mutex
|
7
|
+
@mutex ||= Mutex.new
|
8
|
+
end
|
9
|
+
end
|
2
10
|
|
3
11
|
thread = Thread.new do
|
4
12
|
# Not explicitly requiring Thin::Server occasionally results in
|
@@ -12,7 +20,9 @@ thread = Thread.new do
|
|
12
20
|
webhook = Pusher::WebHook.new(request)
|
13
21
|
|
14
22
|
if webhook.valid?
|
15
|
-
|
23
|
+
WebhookHelper.mutex.synchronize do
|
24
|
+
WebhookHelper.events.concat(webhook.events)
|
25
|
+
end
|
16
26
|
end
|
17
27
|
|
18
28
|
Rack::Response.new.finish
|
@@ -26,11 +36,3 @@ thread = Thread.new do
|
|
26
36
|
end
|
27
37
|
|
28
38
|
at_exit { thread.exit }
|
29
|
-
|
30
|
-
RSpec.configure do |config|
|
31
|
-
config.before do
|
32
|
-
$events = []
|
33
|
-
|
34
|
-
PusherFake.configuration.webhooks = ["http://127.0.0.1:8082"]
|
35
|
-
end
|
36
|
-
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pusher-fake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tristan Dunn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-http-request
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
75
|
+
version: 1.18.1
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
82
|
+
version: 1.18.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pusher
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,84 +100,84 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - '='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 12.
|
103
|
+
version: 12.3.1
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 12.
|
110
|
+
version: 12.3.1
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 3.
|
117
|
+
version: 3.8.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 3.
|
124
|
+
version: 3.8.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.
|
131
|
+
version: 0.58.2
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
138
|
+
version: 0.58.2
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rubocop-rspec
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - '='
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
145
|
+
version: 1.29.0
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
152
|
+
version: 1.29.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: sinatra
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - '='
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 2.0.
|
159
|
+
version: 2.0.3
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - '='
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 2.0.
|
166
|
+
version: 2.0.3
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: yard
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - '='
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.9.
|
173
|
+
version: 0.9.16
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - '='
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.9.
|
180
|
+
version: 0.9.16
|
181
181
|
description: A fake Pusher server for development and testing.
|
182
182
|
email: hello@tristandunn.com
|
183
183
|
executables:
|
@@ -220,7 +220,7 @@ files:
|
|
220
220
|
- spec/lib/pusher_fake_spec.rb
|
221
221
|
- spec/spec_helper.rb
|
222
222
|
- spec/support/application.rb
|
223
|
-
- spec/support/application/public/javascripts/vendor/pusher-4.2.
|
223
|
+
- spec/support/application/public/javascripts/vendor/pusher-4.2.2.js
|
224
224
|
- spec/support/application/views/index.erb
|
225
225
|
- spec/support/capybara.rb
|
226
226
|
- spec/support/coveralls.rb
|
@@ -251,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
251
251
|
version: '0'
|
252
252
|
requirements: []
|
253
253
|
rubyforge_project:
|
254
|
-
rubygems_version: 2.6
|
254
|
+
rubygems_version: 2.7.6
|
255
255
|
signing_key:
|
256
256
|
specification_version: 4
|
257
257
|
summary: A fake Pusher server for development and testing.
|
@@ -270,7 +270,7 @@ test_files:
|
|
270
270
|
- spec/support/application.rb
|
271
271
|
- spec/support/pusher_fake.rb
|
272
272
|
- spec/support/matchers/have_configuration_option.rb
|
273
|
-
- spec/support/application/public/javascripts/vendor/pusher-4.2.
|
273
|
+
- spec/support/application/public/javascripts/vendor/pusher-4.2.2.js
|
274
274
|
- spec/support/application/views/index.erb
|
275
275
|
- spec/support/coveralls.rb
|
276
276
|
- spec/support/helpers/connect.rb
|