pusher-fake 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|