pusher-fake 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/support/application.rb +12 -9
- data/features/support/application/public/javascripts/vendor/{pusher-2.1.5.js → pusher-2.1.6.js} +32 -20
- data/features/support/application/views/index.erb +1 -1
- data/features/support/coveralls.rb +1 -5
- data/features/support/pusher-fake.rb +2 -0
- data/lib/pusher-fake.rb +13 -14
- data/lib/pusher-fake/channel.rb +4 -0
- data/lib/pusher-fake/configuration.rb +0 -40
- data/lib/pusher-fake/connection.rb +1 -1
- data/lib/pusher-fake/cucumber.rb +1 -1
- data/lib/pusher-fake/server.rb +2 -0
- data/lib/pusher-fake/server/application.rb +1 -10
- data/spec/lib/pusher-fake/configuration_spec.rb +0 -40
- data/spec/lib/pusher-fake/connection_spec.rb +2 -1
- data/spec/lib/pusher-fake/server/application_spec.rb +0 -35
- data/spec/lib/pusher_fake_spec.rb +9 -13
- data/spec/support/coveralls.rb +4 -1
- metadata +31 -33
- data/spec/support/warnings.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b6a74e962ef17c0feee10d1603d9d45b8ea2151
|
4
|
+
data.tar.gz: e20d2d3cb6eca5a7027f9fe6012760fd9e6148ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0178d64c7290eb358a1433415960edcfccf78233f6cf4f5e41408d5bebaf57cd620bddafebc8603ed040186e499c87bfd424f8727b293bca18d31479b7566518
|
7
|
+
data.tar.gz: b0069fabf801b3dce31ad8e83611838ea98c5348e861f3da3f6df6281a435d13e07dedcac48e0c45bb627c51f75b0b4e58d5f052f5169700d447cb2ad6290c62
|
@@ -1,8 +1,5 @@
|
|
1
|
-
require "pusher"
|
2
1
|
require "sinatra"
|
3
2
|
|
4
|
-
Pusher.url = "http://PUSHER_API_KEY:PUSHER_API_SECRET@localhost:8081/apps/PUSHER_APP_ID"
|
5
|
-
|
6
3
|
class Sinatra::Application
|
7
4
|
set :root, Proc.new { File.join(File.dirname(__FILE__), "application") }
|
8
5
|
set :views, Proc.new { File.join(root, "views") }
|
@@ -15,13 +12,19 @@ class Sinatra::Application
|
|
15
12
|
end
|
16
13
|
|
17
14
|
post "/pusher/auth" do
|
18
|
-
|
19
|
-
|
15
|
+
channel = Pusher[params[:channel_name]]
|
16
|
+
response = channel.authenticate(params[:socket_id], channel_data)
|
17
|
+
|
18
|
+
MultiJson.dump(response)
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
20
22
|
|
21
|
-
|
22
|
-
|
23
|
-
end
|
23
|
+
def channel_data
|
24
|
+
return unless params[:channel_name] =~ /^presence-/
|
24
25
|
|
25
|
-
|
26
|
+
{ user_id: params[:socket_id],
|
27
|
+
user_info: { name: "Alan Turing" }
|
28
|
+
}
|
26
29
|
end
|
27
30
|
end
|
data/features/support/application/public/javascripts/vendor/{pusher-2.1.5.js → pusher-2.1.6.js}
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Pusher JavaScript Library v2.1.
|
2
|
+
* Pusher JavaScript Library v2.1.6
|
3
3
|
* http://pusherapp.com/
|
4
4
|
*
|
5
5
|
* Copyright 2013, Pusher
|
@@ -599,7 +599,7 @@
|
|
599
599
|
}).call(this);
|
600
600
|
|
601
601
|
;(function() {
|
602
|
-
Pusher.VERSION = '2.1.
|
602
|
+
Pusher.VERSION = '2.1.6';
|
603
603
|
Pusher.PROTOCOL = 7;
|
604
604
|
|
605
605
|
// DEPRECATED: WS connection parameters
|
@@ -2452,7 +2452,8 @@
|
|
2452
2452
|
cached: returnWithOriginalContext(function(context, ttl, strategy){
|
2453
2453
|
return new Pusher.CachedStrategy(strategy, context.transports, {
|
2454
2454
|
ttl: ttl,
|
2455
|
-
timeline: context.timeline
|
2455
|
+
timeline: context.timeline,
|
2456
|
+
encrypted: context.encrypted
|
2456
2457
|
});
|
2457
2458
|
}),
|
2458
2459
|
|
@@ -2607,6 +2608,9 @@
|
|
2607
2608
|
message = this.decodeMessage(message);
|
2608
2609
|
|
2609
2610
|
if (message.event === "pusher:connection_established") {
|
2611
|
+
if (!message.data.activity_timeout) {
|
2612
|
+
throw "No activity timeout specified in handshake";
|
2613
|
+
}
|
2610
2614
|
return {
|
2611
2615
|
action: "connected",
|
2612
2616
|
id: message.data.socket_id,
|
@@ -2956,6 +2960,9 @@
|
|
2956
2960
|
});
|
2957
2961
|
Pusher.Network.bind("offline", function() {
|
2958
2962
|
self.timeline.info({ netinfo: "offline" });
|
2963
|
+
if (self.state === "connected") {
|
2964
|
+
self.sendActivityCheck();
|
2965
|
+
}
|
2959
2966
|
});
|
2960
2967
|
|
2961
2968
|
this.updateStrategy();
|
@@ -3027,6 +3034,7 @@
|
|
3027
3034
|
self.runner = self.strategy.connect(0, callback);
|
3028
3035
|
} else {
|
3029
3036
|
if (handshake.action === "error") {
|
3037
|
+
self.emit("error", { type: "HandshakeError", error: handshake.error });
|
3030
3038
|
self.timeline.error({ handshakeError: handshake.error });
|
3031
3039
|
} else {
|
3032
3040
|
self.abortConnecting(); // we don't support switching connections yet
|
@@ -3105,26 +3113,30 @@
|
|
3105
3113
|
}
|
3106
3114
|
};
|
3107
3115
|
|
3116
|
+
/** @private */
|
3117
|
+
prototype.sendActivityCheck = function() {
|
3118
|
+
var self = this;
|
3119
|
+
self.stopActivityCheck();
|
3120
|
+
self.send_event('pusher:ping', {});
|
3121
|
+
// wait for pong response
|
3122
|
+
self.activityTimer = new Pusher.Timer(
|
3123
|
+
self.options.pongTimeout,
|
3124
|
+
function() {
|
3125
|
+
self.timeline.error({ pong_timed_out: self.options.pongTimeout });
|
3126
|
+
self.retryIn(0);
|
3127
|
+
}
|
3128
|
+
);
|
3129
|
+
};
|
3130
|
+
|
3108
3131
|
/** @private */
|
3109
3132
|
prototype.resetActivityCheck = function() {
|
3110
|
-
this
|
3133
|
+
var self = this;
|
3134
|
+
self.stopActivityCheck();
|
3111
3135
|
// send ping after inactivity
|
3112
|
-
if (!
|
3113
|
-
|
3114
|
-
|
3115
|
-
|
3116
|
-
function() {
|
3117
|
-
self.send_event('pusher:ping', {});
|
3118
|
-
// wait for pong response
|
3119
|
-
self.activityTimer = new Pusher.Timer(
|
3120
|
-
self.options.pongTimeout,
|
3121
|
-
function() {
|
3122
|
-
self.timeline.error({ pong_timed_out: self.options.pongTimeout });
|
3123
|
-
self.retryIn(0);
|
3124
|
-
}
|
3125
|
-
);
|
3126
|
-
}
|
3127
|
-
);
|
3136
|
+
if (!self.connection.supportsPing()) {
|
3137
|
+
self.activityTimer = new Pusher.Timer(self.activityTimeout, function() {
|
3138
|
+
self.sendActivityCheck();
|
3139
|
+
});
|
3128
3140
|
}
|
3129
3141
|
};
|
3130
3142
|
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<ul></ul>
|
14
14
|
</section>
|
15
15
|
|
16
|
-
<script src="/javascripts/vendor/pusher-2.1.
|
16
|
+
<script src="/javascripts/vendor/pusher-2.1.6.js"></script>
|
17
17
|
<script>
|
18
18
|
window.addEventListener("DOMContentLoaded", function() {
|
19
19
|
// Create the client instance using the PusherFake server.
|
data/lib/pusher-fake.rb
CHANGED
@@ -4,19 +4,15 @@ require "multi_json"
|
|
4
4
|
require "openssl"
|
5
5
|
require "thin"
|
6
6
|
|
7
|
-
require "pusher-fake/channel"
|
8
|
-
require "pusher-fake/channel/public"
|
9
|
-
require "pusher-fake/channel/private"
|
10
|
-
require "pusher-fake/channel/presence"
|
11
|
-
require "pusher-fake/configuration"
|
12
|
-
require "pusher-fake/connection"
|
13
|
-
require "pusher-fake/server"
|
14
|
-
require "pusher-fake/server/application"
|
15
|
-
require "pusher-fake/webhook"
|
16
|
-
|
17
7
|
module PusherFake
|
18
8
|
# The current version string.
|
19
|
-
VERSION = "0.
|
9
|
+
VERSION = "0.13.0"
|
10
|
+
|
11
|
+
autoload :Channel, "pusher-fake/channel"
|
12
|
+
autoload :Configuration, "pusher-fake/configuration"
|
13
|
+
autoload :Connection, "pusher-fake/connection"
|
14
|
+
autoload :Server, "pusher-fake/server"
|
15
|
+
autoload :Webhook, "pusher-fake/webhook"
|
20
16
|
|
21
17
|
# Call this method to modify the defaults.
|
22
18
|
#
|
@@ -40,8 +36,11 @@ module PusherFake
|
|
40
36
|
# @param [Hash] options Custom options for Pusher client.
|
41
37
|
# @return [String] JavaScript overriding the Pusher client host and port.
|
42
38
|
def self.javascript(options = {})
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
arguments = [
|
40
|
+
configuration.key,
|
41
|
+
configuration.to_options(options)
|
42
|
+
].map(&:to_json).join(",")
|
43
|
+
|
44
|
+
"new Pusher(#{arguments})"
|
46
45
|
end
|
47
46
|
end
|
data/lib/pusher-fake/channel.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
module PusherFake
|
2
2
|
module Channel
|
3
|
+
autoload :Public, "pusher-fake/channel/public"
|
4
|
+
autoload :Private, "pusher-fake/channel/private"
|
5
|
+
autoload :Presence, "pusher-fake/channel/presence"
|
6
|
+
|
3
7
|
class << self
|
4
8
|
# Name matcher for private channels.
|
5
9
|
PRIVATE_CHANNEL_MATCHER = /\Aprivate-/.freeze
|
@@ -33,46 +33,6 @@ module PusherFake
|
|
33
33
|
self.web_options = { host: "127.0.0.1", port: 8081 }
|
34
34
|
end
|
35
35
|
|
36
|
-
# Set the host on which the socket server listens.
|
37
|
-
#
|
38
|
-
# @deprecated Please use {#socket_options} +Hash+ instead.
|
39
|
-
# @param host String
|
40
|
-
def socket_host=(host)
|
41
|
-
warn "[DEPRECATION] `socket_host=` is deprecated. Please use `socket_options=` instead."
|
42
|
-
|
43
|
-
socket_options[:host] = host
|
44
|
-
end
|
45
|
-
|
46
|
-
# Set the port on which the socket server listens.
|
47
|
-
#
|
48
|
-
# @deprecated Please use {#socket_options} +Hash+ instead.
|
49
|
-
# @param port Integer
|
50
|
-
def socket_port=(port)
|
51
|
-
warn "[DEPRECATION] `socket_port=` is deprecated. Please use `socket_options=` instead."
|
52
|
-
|
53
|
-
socket_options[:port] = port
|
54
|
-
end
|
55
|
-
|
56
|
-
# Set the host on which the web server listens.
|
57
|
-
#
|
58
|
-
# @deprecated Please use {#web_options} +Hash+ instead.
|
59
|
-
# @param host String
|
60
|
-
def web_host=(host)
|
61
|
-
warn "[DEPRECATION] `web_host=` is deprecated. Please use `web_options=` instead."
|
62
|
-
|
63
|
-
web_options[:host] = host
|
64
|
-
end
|
65
|
-
|
66
|
-
# Set the port on which the web server listens.
|
67
|
-
#
|
68
|
-
# @deprecated Please use {#web_options} +Hash+ instead.
|
69
|
-
# @param port Integer
|
70
|
-
def web_port=(port)
|
71
|
-
warn "[DEPRECATION] `web_port=` is deprecated. Please use `web_options=` instead."
|
72
|
-
|
73
|
-
web_options[:port] = port
|
74
|
-
end
|
75
|
-
|
76
36
|
# Convert the configuration to a hash sutiable for Pusher JS options.
|
77
37
|
#
|
78
38
|
# @param [Hash] options Custom options for Pusher client.
|
@@ -27,7 +27,7 @@ module PusherFake
|
|
27
27
|
|
28
28
|
# Notify the Pusher client that a connection has been established.
|
29
29
|
def establish
|
30
|
-
emit("pusher:connection_established", socket_id: socket.object_id)
|
30
|
+
emit("pusher:connection_established", socket_id: socket.object_id, activity_timeout: 120)
|
31
31
|
end
|
32
32
|
|
33
33
|
# Process an event.
|
data/lib/pusher-fake/cucumber.rb
CHANGED
@@ -11,7 +11,7 @@ PusherFake.configuration.web_options.tap do |options|
|
|
11
11
|
Pusher.port = options[:port]
|
12
12
|
end
|
13
13
|
|
14
|
-
# Start the fake web
|
14
|
+
# Start the fake socket and web servers.
|
15
15
|
fork { PusherFake::Server.start }.tap do |id|
|
16
16
|
at_exit { Process.kill("KILL", id) }
|
17
17
|
end
|
data/lib/pusher-fake/server.rb
CHANGED
@@ -25,7 +25,7 @@ module PusherFake
|
|
25
25
|
when %r{\A/apps/#{id}/channels/([^/]+)/users\Z}
|
26
26
|
users($1)
|
27
27
|
else
|
28
|
-
|
28
|
+
raise "Unknown path: #{request.path}"
|
29
29
|
end
|
30
30
|
|
31
31
|
Rack::Response.new(MultiJson.dump(response)).finish
|
@@ -113,15 +113,6 @@ module PusherFake
|
|
113
113
|
|
114
114
|
{ users: users || [] }
|
115
115
|
end
|
116
|
-
|
117
|
-
def self.unknown_path(path)
|
118
|
-
message = "Unknown path: #{path}"
|
119
|
-
|
120
|
-
logger = Logger.new(STDOUT)
|
121
|
-
logger.error(message)
|
122
|
-
|
123
|
-
raise message
|
124
|
-
end
|
125
116
|
end
|
126
117
|
end
|
127
118
|
end
|
@@ -9,46 +9,6 @@ describe PusherFake::Configuration do
|
|
9
9
|
it { should have_configuration_option(:webhooks).with_default([]) }
|
10
10
|
end
|
11
11
|
|
12
|
-
describe PusherFake::Configuration, "#socket_host=" do
|
13
|
-
it "sets socket options host value" do
|
14
|
-
silence_warnings do
|
15
|
-
subject.socket_host = "192.168.0.1"
|
16
|
-
end
|
17
|
-
|
18
|
-
subject.socket_options[:host].should == "192.168.0.1"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe PusherFake::Configuration, "#socket_post=" do
|
23
|
-
it "sets socket options host value" do
|
24
|
-
silence_warnings do
|
25
|
-
subject.socket_port = 443
|
26
|
-
end
|
27
|
-
|
28
|
-
subject.socket_options[:port].should == 443
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe PusherFake::Configuration, "#web_host=" do
|
33
|
-
it "sets web options host value" do
|
34
|
-
silence_warnings do
|
35
|
-
subject.web_host = "192.168.0.1"
|
36
|
-
end
|
37
|
-
|
38
|
-
subject.web_options[:host].should == "192.168.0.1"
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe PusherFake::Configuration, "#web_post=" do
|
43
|
-
it "sets web options host value" do
|
44
|
-
silence_warnings do
|
45
|
-
subject.web_port = 443
|
46
|
-
end
|
47
|
-
|
48
|
-
subject.web_options[:port].should == 443
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
12
|
describe PusherFake::Configuration, "#to_options" do
|
53
13
|
it "includes the socket host as wsHost" do
|
54
14
|
subject.to_options.should include(wsHost: subject.socket_options[:host])
|
@@ -44,7 +44,8 @@ describe PusherFake::Connection, "#establish" do
|
|
44
44
|
|
45
45
|
it "emits the connection established event with the socket ID" do
|
46
46
|
subject.establish
|
47
|
-
subject.should have_received(:emit)
|
47
|
+
subject.should have_received(:emit)
|
48
|
+
.with("pusher:connection_established", socket_id: socket.object_id, activity_timeout: 120)
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
@@ -82,8 +82,6 @@ describe PusherFake::Server::Application, ".call, with unknown path" do
|
|
82
82
|
let(:environment) { mock }
|
83
83
|
|
84
84
|
before do
|
85
|
-
subject.stubs(:unknown_path).raises(message)
|
86
|
-
|
87
85
|
response.stubs(finish: response)
|
88
86
|
|
89
87
|
Rack::Request.stubs(new: request)
|
@@ -97,11 +95,6 @@ describe PusherFake::Server::Application, ".call, with unknown path" do
|
|
97
95
|
Rack::Request.should have_received(:new).with(environment)
|
98
96
|
end
|
99
97
|
|
100
|
-
it "calls unknown_path with the path" do
|
101
|
-
subject.call(environment)
|
102
|
-
subject.should have_received(:unknown_path).with(request.path)
|
103
|
-
end
|
104
|
-
|
105
98
|
it "creates a Rack response with the error message" do
|
106
99
|
subject.call(environment)
|
107
100
|
Rack::Response.should have_received(:new).with(message, 400)
|
@@ -408,31 +401,3 @@ describe PusherFake::Server::Application, ".users, for an unknown channel" do
|
|
408
401
|
subject.users("fake").should == { users: [] }
|
409
402
|
end
|
410
403
|
end
|
411
|
-
|
412
|
-
describe PusherFake::Server::Application, ".unknown_path" do
|
413
|
-
let(:path) { "/apps/fake/events" }
|
414
|
-
let(:logger) { stub(error: true) }
|
415
|
-
let(:message) { "Unknown path: #{path}" }
|
416
|
-
|
417
|
-
before do
|
418
|
-
Logger.stubs(new: logger)
|
419
|
-
end
|
420
|
-
|
421
|
-
subject { PusherFake::Server::Application }
|
422
|
-
|
423
|
-
it "creates a logger" do
|
424
|
-
expect { subject.unknown_path(path) }.to raise_error
|
425
|
-
Logger.should have_received(:new).with(STDOUT)
|
426
|
-
end
|
427
|
-
|
428
|
-
it "logs the error message" do
|
429
|
-
expect { subject.unknown_path(path) }.to raise_error
|
430
|
-
logger.should have_received(:error).with(message)
|
431
|
-
end
|
432
|
-
|
433
|
-
it "raises an error" do
|
434
|
-
expect {
|
435
|
-
subject.unknown_path(path)
|
436
|
-
}.to raise_error(message)
|
437
|
-
end
|
438
|
-
end
|
@@ -1,16 +1,12 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe PusherFake, ".configure" do
|
4
|
-
let(:configuration) { mock }
|
5
|
-
|
6
4
|
subject { PusherFake }
|
7
5
|
|
8
|
-
before do
|
9
|
-
subject.stubs(configuration: configuration)
|
10
|
-
end
|
11
|
-
|
12
6
|
it "yields the configuration" do
|
13
|
-
expect { |block|
|
7
|
+
expect { |block|
|
8
|
+
subject.configure(&block)
|
9
|
+
}.to yield_with_args(subject.configuration)
|
14
10
|
end
|
15
11
|
end
|
16
12
|
|
@@ -51,14 +47,14 @@ describe PusherFake, ".javascript" do
|
|
51
47
|
subject { PusherFake }
|
52
48
|
|
53
49
|
it "returns JavaScript setting the host and port to the configured options" do
|
54
|
-
|
55
|
-
|
56
|
-
|
50
|
+
arguments = [configuration.key, configuration.to_options].map(&:to_json).join(",")
|
51
|
+
|
52
|
+
subject.javascript.should == "new Pusher(#{arguments})"
|
57
53
|
end
|
58
54
|
|
59
55
|
it "supports passing custom options" do
|
60
|
-
|
61
|
-
|
62
|
-
|
56
|
+
arguments = [configuration.key, configuration.to_options(options)].map(&:to_json).join(",")
|
57
|
+
|
58
|
+
subject.javascript(options).should == "new Pusher(#{arguments})"
|
63
59
|
end
|
64
60
|
end
|
data/spec/support/coveralls.rb
CHANGED
metadata
CHANGED
@@ -1,75 +1,75 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pusher-fake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.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: 2014-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-http-request
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.0.0
|
20
|
-
- - <
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 1.2.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 1.0.0
|
30
|
-
- - <
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.2.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: em-websocket
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ~>
|
37
|
+
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0.5'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - ~>
|
44
|
+
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0.5'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: thin
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - ~>
|
51
|
+
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '1.5'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- - ~>
|
58
|
+
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '1.5'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: multi_json
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - ~>
|
65
|
+
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '1.6'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - ~>
|
72
|
+
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '1.6'
|
75
75
|
- !ruby/object:Gem::Dependency
|
@@ -92,14 +92,14 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - '='
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.1.
|
95
|
+
version: 1.1.1
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - '='
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 1.1.
|
102
|
+
version: 1.1.1
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: coveralls
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,17 +218,6 @@ executables: []
|
|
218
218
|
extensions: []
|
219
219
|
extra_rdoc_files: []
|
220
220
|
files:
|
221
|
-
- lib/pusher-fake/channel/presence.rb
|
222
|
-
- lib/pusher-fake/channel/private.rb
|
223
|
-
- lib/pusher-fake/channel/public.rb
|
224
|
-
- lib/pusher-fake/channel.rb
|
225
|
-
- lib/pusher-fake/configuration.rb
|
226
|
-
- lib/pusher-fake/connection.rb
|
227
|
-
- lib/pusher-fake/cucumber.rb
|
228
|
-
- lib/pusher-fake/server/application.rb
|
229
|
-
- lib/pusher-fake/server.rb
|
230
|
-
- lib/pusher-fake/webhook.rb
|
231
|
-
- lib/pusher-fake.rb
|
232
221
|
- features/channel.feature
|
233
222
|
- features/channel_presence.feature
|
234
223
|
- features/channel_subscribe.feature
|
@@ -242,15 +231,26 @@ files:
|
|
242
231
|
- features/step_definitions/navigation_steps.rb
|
243
232
|
- features/step_definitions/presence_steps.rb
|
244
233
|
- features/step_definitions/webhook_steps.rb
|
245
|
-
- features/support/application/public/javascripts/vendor/pusher-2.1.5.js
|
246
|
-
- features/support/application/views/index.erb
|
247
234
|
- features/support/application.rb
|
235
|
+
- features/support/application/public/javascripts/vendor/pusher-2.1.6.js
|
236
|
+
- features/support/application/views/index.erb
|
248
237
|
- features/support/coveralls.rb
|
249
238
|
- features/support/environment.rb
|
250
239
|
- features/support/pusher-fake.rb
|
251
240
|
- features/support/timing.rb
|
252
241
|
- features/support/webhooks.rb
|
253
242
|
- features/user.feature
|
243
|
+
- lib/pusher-fake.rb
|
244
|
+
- lib/pusher-fake/channel.rb
|
245
|
+
- lib/pusher-fake/channel/presence.rb
|
246
|
+
- lib/pusher-fake/channel/private.rb
|
247
|
+
- lib/pusher-fake/channel/public.rb
|
248
|
+
- lib/pusher-fake/configuration.rb
|
249
|
+
- lib/pusher-fake/connection.rb
|
250
|
+
- lib/pusher-fake/cucumber.rb
|
251
|
+
- lib/pusher-fake/server.rb
|
252
|
+
- lib/pusher-fake/server/application.rb
|
253
|
+
- lib/pusher-fake/webhook.rb
|
254
254
|
- spec/lib/pusher-fake/channel/presence_spec.rb
|
255
255
|
- spec/lib/pusher-fake/channel/private_spec.rb
|
256
256
|
- spec/lib/pusher-fake/channel/public_spec.rb
|
@@ -264,7 +264,6 @@ files:
|
|
264
264
|
- spec/spec_helper.rb
|
265
265
|
- spec/support/coveralls.rb
|
266
266
|
- spec/support/have_configuration_option_matcher.rb
|
267
|
-
- spec/support/warnings.rb
|
268
267
|
homepage: https://github.com/tristandunn/pusher-fake
|
269
268
|
licenses:
|
270
269
|
- MIT
|
@@ -275,17 +274,17 @@ require_paths:
|
|
275
274
|
- lib
|
276
275
|
required_ruby_version: !ruby/object:Gem::Requirement
|
277
276
|
requirements:
|
278
|
-
- -
|
277
|
+
- - ">="
|
279
278
|
- !ruby/object:Gem::Version
|
280
279
|
version: '0'
|
281
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
282
281
|
requirements:
|
283
|
-
- -
|
282
|
+
- - ">="
|
284
283
|
- !ruby/object:Gem::Version
|
285
284
|
version: '0'
|
286
285
|
requirements: []
|
287
286
|
rubyforge_project:
|
288
|
-
rubygems_version: 2.0
|
287
|
+
rubygems_version: 2.2.0
|
289
288
|
signing_key:
|
290
289
|
specification_version: 4
|
291
290
|
summary: A fake Pusher server for development and testing.
|
@@ -303,7 +302,7 @@ test_files:
|
|
303
302
|
- features/step_definitions/navigation_steps.rb
|
304
303
|
- features/step_definitions/presence_steps.rb
|
305
304
|
- features/step_definitions/webhook_steps.rb
|
306
|
-
- features/support/application/public/javascripts/vendor/pusher-2.1.
|
305
|
+
- features/support/application/public/javascripts/vendor/pusher-2.1.6.js
|
307
306
|
- features/support/application/views/index.erb
|
308
307
|
- features/support/application.rb
|
309
308
|
- features/support/coveralls.rb
|
@@ -325,5 +324,4 @@ test_files:
|
|
325
324
|
- spec/spec_helper.rb
|
326
325
|
- spec/support/coveralls.rb
|
327
326
|
- spec/support/have_configuration_option_matcher.rb
|
328
|
-
- spec/support/warnings.rb
|
329
327
|
has_rdoc:
|