pusher-fake 3.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09cf8cbf09383dbf9ca8829c07e67da46721965a6e226e76205a92329c55b8a1'
4
- data.tar.gz: 0b3d172aa3c5f86c507eab2a3c71177287145ae5b819b323a26c500e2c8ef423
3
+ metadata.gz: '039808605b16ad3d4532da9fc4041f4f2cba3f783e4ec63729f5bc5b024565eb'
4
+ data.tar.gz: 4ff72ecce469d90b48892ae1fe0f677806a9aa8b8a3b0ff5a33c7105da3585b3
5
5
  SHA512:
6
- metadata.gz: 246b183a6b21546e1395cdec4e76b1b95953cb9b151901e84602be7a6ef3ef49ec00a6aea663f6ba9761c8479e5bb9799ddab3e1b629e37d449acb9c2d04c19f
7
- data.tar.gz: 71df4af1d1a72e6ca55d1e19bdef165a04decbac64968955b2efac70b9b0c2a66e338f2c9770b857f29d86c503bb269b70c7cd779ada8911d53d3304ee406020
6
+ metadata.gz: 7036cbe9c7d805d193ccbb6492a58ef102e793218907787df1a8a2155a828e10aab13483ec6d783a65a1b11dc8936e73f8d3f55735cf64bb948a590dfe4e238a
7
+ data.tar.gz: ecf4faa213465f21879a0926c9e2adf8d1b80e515eff2a2192c8033e998bcbaca044e770c54652d6a31c4f967cc88f4c7c4a9cb3b04c601eb68016a964140c84
@@ -36,7 +36,7 @@ module PusherFake
36
36
  #
37
37
  # @return [Hash] Hash containing presence information.
38
38
  def subscription_data
39
- hash = members.map { |_, member| [member[:user_id], member[:user_info]] }.to_h
39
+ hash = members.to_h { |_, member| [member[:user_id], member[:user_info]] }
40
40
 
41
41
  { presence: { hash: hash, count: members.size } }
42
42
  end
@@ -4,6 +4,8 @@ module PusherFake
4
4
  module Channel
5
5
  # A public channel.
6
6
  class Public
7
+ CACHE_CHANNEL_PREFIX = /^(private-|presence-){0,1}cache-/.freeze
8
+
7
9
  # @return [Array] Connections in this channel.
8
10
  attr_reader :connections
9
11
 
@@ -15,6 +17,7 @@ module PusherFake
15
17
  # @param [String] name The channel name.
16
18
  def initialize(name)
17
19
  @name = name
20
+ @last_event = nil
18
21
  @connections = []
19
22
  end
20
23
 
@@ -24,6 +27,7 @@ module PusherFake
24
27
  # @param [Hash] options The options for the channel.
25
28
  def add(connection, options = {})
26
29
  subscription_succeeded(connection, options)
30
+ emit_last_event(connection)
27
31
  end
28
32
 
29
33
  # Emit an event to the channel.
@@ -31,6 +35,10 @@ module PusherFake
31
35
  # @param [String] event The event name.
32
36
  # @param [Hash] data The event data.
33
37
  def emit(event, data, options = {})
38
+ if cache_channel?
39
+ @last_event = [event, data]
40
+ end
41
+
34
42
  connections.each do |connection|
35
43
  unless connection.id == options[:socket_id]
36
44
  connection.emit(event, data, name)
@@ -71,6 +79,30 @@ module PusherFake
71
79
 
72
80
  private
73
81
 
82
+ # @return [Array] Arguments for the last event emitted.
83
+ attr_reader :last_event
84
+
85
+ # Whether or not the channel is a cache channel.
86
+ #
87
+ # @return [Boolean]
88
+ def cache_channel?
89
+ @cache_channel ||= name.match?(CACHE_CHANNEL_PREFIX)
90
+ end
91
+
92
+ # Emit the last event if present and a cache channel.
93
+ #
94
+ # @param [Connection] connection The connection to emit to.
95
+ def emit_last_event(connection)
96
+ return unless cache_channel?
97
+
98
+ if last_event
99
+ connection.emit(*last_event, name)
100
+ else
101
+ connection.emit("pusher:cache_miss", nil, name)
102
+ trigger("cache_miss", channel: name)
103
+ end
104
+ end
105
+
74
106
  # Notify the +connection+ of the successful subscription and add the
75
107
  # connection to the channel.
76
108
  #
@@ -49,7 +49,7 @@ module PusherFake
49
49
  def reset!
50
50
  self.app_id = "PUSHER_APP_ID"
51
51
  self.key = "PUSHER_API_KEY"
52
- self.logger = $stdout.to_io
52
+ self.logger = standard_out_io
53
53
  self.secret = "PUSHER_API_SECRET"
54
54
  self.verbose = false
55
55
  self.webhooks = []
@@ -81,5 +81,13 @@ module PusherFake
81
81
  socket.close
82
82
  end
83
83
  end
84
+
85
+ def standard_out_io
86
+ if $stdout.respond_to?(:to_io)
87
+ $stdout.to_io
88
+ else
89
+ $stdout
90
+ end
91
+ end
84
92
  end
85
93
  end
@@ -54,15 +54,6 @@ module PusherFake
54
54
  def configuration
55
55
  PusherFake.configuration
56
56
  end
57
-
58
- # Return a hash of options for the socket server based on
59
- # the configuration.
60
- #
61
- # @return [Hash] The socket server configuration options.
62
- def socket_server_options
63
- { host: configuration.socket_host,
64
- port: configuration.socket_port }
65
- end
66
57
  end
67
58
  end
68
59
  end
data/lib/pusher-fake.rb CHANGED
@@ -9,7 +9,7 @@ require "thin"
9
9
  # A Pusher fake.
10
10
  module PusherFake
11
11
  # The current version string.
12
- VERSION = "3.0.0"
12
+ VERSION = "4.1.0"
13
13
 
14
14
  autoload :Channel, "pusher-fake/channel"
15
15
  autoload :Configuration, "pusher-fake/configuration"
@@ -48,13 +48,13 @@ feature "Requesting channel API endpoint" do
48
48
  end
49
49
 
50
50
  scenario "channel, with no occupants" do
51
- expect(channel[:occupied]).to eq(false)
51
+ expect(channel[:occupied]).to be(false)
52
52
  end
53
53
 
54
54
  scenario "channel, with an occupant" do
55
55
  subscribe_to(channel_name)
56
56
 
57
- expect(channel[:occupied]).to eq(true)
57
+ expect(channel[:occupied]).to be(true)
58
58
  end
59
59
 
60
60
  scenario "channel, with info attributes" do
@@ -62,7 +62,7 @@ feature "Requesting channel API endpoint" do
62
62
 
63
63
  result = Pusher.get("/channels/#{presence_name}", info: "user_count")
64
64
 
65
- expect(result[:occupied]).to eq(true)
65
+ expect(result[:occupied]).to be(true)
66
66
  expect(result[:user_count]).to eq(1)
67
67
  end
68
68
 
@@ -3,6 +3,10 @@
3
3
  require "spec_helper"
4
4
 
5
5
  feature "Client subscribing to a channel" do
6
+ let(:cache_event) { "command" }
7
+ let(:cache_channel) { "cache-last-command" }
8
+ let(:other_user) { "Bob" }
9
+
6
10
  before do
7
11
  connect
8
12
  end
@@ -49,16 +53,27 @@ feature "Client subscribing to a channel" do
49
53
  expect(page).not_to have_content("Subscribed to presence-game-1.")
50
54
  end
51
55
 
52
- protected
56
+ scenario "successfully subscribes to a cache channel, with no cached event" do
57
+ subscribe_to(cache_channel)
53
58
 
54
- def attempt_to_subscribe_to(channel)
55
- page.execute_script("Helpers.subscribe(#{MultiJson.dump(channel)})")
59
+ expect(page).to have_content("No cached event for cache-last-command.")
56
60
  end
57
61
 
58
- def connect
59
- visit "/"
62
+ scenario "successfully subscribes to a cache channel, with cached event" do
63
+ subscribe_to(cache_channel)
64
+ Pusher.trigger(cache_channel, cache_event, {}, {})
65
+
66
+ connect_as(other_user, channel: cache_channel)
60
67
 
61
- expect(page).to have_content("Client connected.")
68
+ using_session(other_user) do
69
+ expect(page).to have_content("Channel #{cache_channel} received #{cache_event} event.")
70
+ end
71
+ end
72
+
73
+ protected
74
+
75
+ def attempt_to_subscribe_to(channel)
76
+ page.execute_script("Helpers.subscribe(#{MultiJson.dump(channel)})")
62
77
  end
63
78
 
64
79
  def override_socket_id(value)
@@ -5,6 +5,7 @@ require "spec_helper"
5
5
  feature "Receiving event webhooks" do
6
6
  let(:channel) { "room-1" }
7
7
  let(:other_user) { "Bob" }
8
+ let(:cache_channel) { "cache-last-command" }
8
9
  let(:presence_channel) { "presence-room-1" }
9
10
 
10
11
  before do
@@ -72,6 +73,24 @@ feature "Receiving event webhooks" do
72
73
  "user_id" => user_id(other_user))
73
74
  end
74
75
 
76
+ scenario "subscribing to a cache channel with no event" do
77
+ subscribe_to(cache_channel)
78
+
79
+ expect(events).to include_event("cache_miss",
80
+ "channel" => cache_channel)
81
+ end
82
+
83
+ scenario "subscribing to a cache channel with an event" do
84
+ subscribe_to(cache_channel)
85
+ events.clear
86
+ Pusher.trigger(cache_channel, "an event", {}, {})
87
+
88
+ subscribe_to_as(cache_channel, other_user)
89
+
90
+ expect(events).not_to include_event("cache_miss",
91
+ "channel" => cache_channel)
92
+ end
93
+
75
94
  protected
76
95
 
77
96
  def events
@@ -53,6 +53,64 @@ describe PusherFake::Channel, "#add" do
53
53
  expect(PusherFake::Webhook).to have_received(:trigger)
54
54
  .with("channel_occupied", channel: name).once
55
55
  end
56
+
57
+ context "when a cached channel" do
58
+ let(:name) { "cache-name" }
59
+
60
+ before do
61
+ allow(subject).to receive(:connections).and_call_original
62
+ end
63
+
64
+ context "with a cached event" do
65
+ before do
66
+ subject.emit("example-cache-event", example: true)
67
+ end
68
+
69
+ it "triggers the cached event to the connection added" do
70
+ subject.add(connection)
71
+
72
+ expect(connection).to have_received(:emit)
73
+ .with("example-cache-event", { example: true }, name).once
74
+ end
75
+
76
+ it "does not trigger cache miss event" do
77
+ subject.add(connection)
78
+
79
+ expect(connection).not_to have_received(:emit)
80
+ .with("pusher:cache-miss", nil, name)
81
+ end
82
+
83
+ it "does not trigger cache miss webhook" do
84
+ subject.add(connection)
85
+
86
+ expect(PusherFake::Webhook).not_to have_received(:trigger)
87
+ .with("cache_miss", channel: name)
88
+ end
89
+ end
90
+
91
+ context "without a cached event" do
92
+ it "triggers cache miss event" do
93
+ subject.add(connection)
94
+
95
+ expect(connection).to have_received(:emit)
96
+ .with("pusher:cache_miss", nil, name).once
97
+ end
98
+
99
+ it "triggers cache miss webhook" do
100
+ subject.add(connection)
101
+
102
+ expect(PusherFake::Webhook).to have_received(:trigger)
103
+ .with("cache_miss", channel: name).once
104
+ end
105
+
106
+ it "does not trigger event" do
107
+ subject.add(connection)
108
+
109
+ expect(connection).not_to have_received(:emit)
110
+ .with("example-cache-event", { example: true }, name)
111
+ end
112
+ end
113
+ end
56
114
  end
57
115
 
58
116
  describe PusherFake::Channel, "#emit" do
@@ -53,6 +53,25 @@ describe PusherFake::Configuration do
53
53
  it "defaults socket and web ports to different values" do
54
54
  expect(subject.socket_options[:port]).not_to eq(subject.web_options[:port])
55
55
  end
56
+
57
+ context "with StringIO as standard out" do
58
+ let(:io) { StringIO.new }
59
+
60
+ around do |example|
61
+ original = $stdout
62
+ $stdout = io # rubocop:disable RSpec/ExpectOutput
63
+
64
+ example.run
65
+
66
+ $stdout = original # rubocop:disable RSpec/ExpectOutput
67
+ end
68
+
69
+ it "assigns standard out to the logger" do
70
+ subject.reset!
71
+
72
+ expect(subject.logger).to eq(io)
73
+ end
74
+ end
56
75
  end
57
76
 
58
77
  describe PusherFake::Configuration, "#app_id=" do
@@ -18,13 +18,13 @@ describe PusherFake, ".configuration" do
18
18
  let(:configuration) { double }
19
19
 
20
20
  before do
21
- described_class.instance_variable_set("@configuration", nil)
21
+ described_class.instance_variable_set(:@configuration, nil)
22
22
 
23
23
  allow(PusherFake::Configuration).to receive(:new).and_return(configuration)
24
24
  end
25
25
 
26
26
  after do
27
- described_class.instance_variable_set("@configuration", nil)
27
+ described_class.instance_variable_set(:@configuration, nil)
28
28
  end
29
29
 
30
30
  it "initializes a configuration object" do
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,19 @@ require "bundler/setup"
4
4
 
5
5
  Bundler.require(:default, :development)
6
6
 
7
+ if ENV["CI"] || ENV["COVERAGE"]
8
+ require "simplecov"
9
+ require "simplecov-console"
10
+
11
+ SimpleCov.formatter = SimpleCov::Formatter::Console
12
+ SimpleCov.start do
13
+ add_filter("lib/pusher-fake/support")
14
+ add_filter("spec/support")
15
+ enable_coverage :branch
16
+ minimum_coverage line: 100, branch: 100
17
+ end
18
+ end
19
+
7
20
  Dir[File.expand_path("support/**/*.rb", __dir__)].sort.each do |file|
8
21
  require file
9
22
  end
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Pusher JavaScript Library v7.0.0
2
+ * Pusher JavaScript Library v7.0.6
3
3
  * https://pusher.com/
4
4
  *
5
5
  * Copyright 2020, Pusher
@@ -388,7 +388,7 @@ exports.maxDecodedLength = function (length) {
388
388
  exports.decodedLength = function (s) {
389
389
  return stdCoder.decodedLength(s);
390
390
  };
391
- //# sourceMappingURL=base64.js.map
391
+
392
392
 
393
393
  /***/ }),
394
394
  /* 1 */
@@ -543,7 +543,7 @@ function decode(arr) {
543
543
  return chars.join("");
544
544
  }
545
545
  exports.decode = decode;
546
- //# sourceMappingURL=utf8.js.map
546
+
547
547
 
548
548
  /***/ }),
549
549
  /* 2 */
@@ -558,6 +558,7 @@ module.exports = __webpack_require__(3).default;
558
558
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
559
559
 
560
560
  "use strict";
561
+ // ESM COMPAT FLAG
561
562
  __webpack_require__.r(__webpack_exports__);
562
563
 
563
564
  // CONCATENATED MODULE: ./src/runtimes/web/dom/script_receiver_factory.ts
@@ -592,7 +593,7 @@ var ScriptReceivers = new ScriptReceiverFactory('_pusher_script_', 'Pusher.Scrip
592
593
 
593
594
  // CONCATENATED MODULE: ./src/core/defaults.ts
594
595
  var Defaults = {
595
- VERSION: "7.0.0",
596
+ VERSION: "7.0.6",
596
597
  PROTOCOL: 7,
597
598
  wsPort: 80,
598
599
  wssPort: 443,
@@ -2332,6 +2333,7 @@ var channel_Channel = (function (_super) {
2332
2333
  this.subscriptionCancelled = false;
2333
2334
  this.authorize(this.pusher.connection.socket_id, function (error, data) {
2334
2335
  if (error) {
2336
+ _this.subscriptionPending = false;
2335
2337
  logger.error(error.toString());
2336
2338
  _this.emit('pusher:subscription_error', Object.assign({}, {
2337
2339
  type: 'AuthError',
@@ -4531,7 +4533,7 @@ var pusher_Pusher = (function () {
4531
4533
  }
4532
4534
  else {
4533
4535
  channel = this.channels.remove(channel_name);
4534
- if (channel && this.connection.state === 'connected') {
4536
+ if (channel && channel.subscribed) {
4535
4537
  channel.unsubscribe();
4536
4538
  }
4537
4539
  }
@@ -14,7 +14,7 @@
14
14
  </section>
15
15
 
16
16
  <script src="/javascripts/vendor/polyfill.min.js"></script>
17
- <script src="/javascripts/vendor/pusher-7.0.0.js"></script>
17
+ <script src="/javascripts/vendor/pusher-7.0.6.js"></script>
18
18
  <script>
19
19
  Pusher.instance = <%= PusherFake.javascript %>;
20
20
  Pusher.instance.connection.bind("state_change", function(states) {
@@ -65,6 +65,9 @@
65
65
 
66
66
  list.removeChild(item);
67
67
  })
68
+ .bind("pusher:cache_miss", function(client) {
69
+ Helpers.log("No cached event for " + name + ".");
70
+ })
68
71
  .bind_global(function(event, message) {
69
72
  Helpers.log("Channel " + name + " received " + event + " event.");
70
73
  });
@@ -5,3 +5,6 @@ require "capybara/rspec"
5
5
  Capybara.app = Sinatra::Application
6
6
  Capybara.server = :puma, { Silent: true }
7
7
  Capybara.default_driver = :selenium_chrome_headless
8
+
9
+ # Ignore deprecation warning.
10
+ Selenium::WebDriver.logger.ignore(:browser_options)
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: 3.0.0
4
+ version: 4.1.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: 2021-08-11 00:00:00.000000000 Z
11
+ date: 2022-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: em-http-request
@@ -72,42 +72,42 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 3.35.3
75
+ version: 3.36.0
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: 3.35.3
82
+ version: 3.36.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: puma
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 5.4.0
89
+ version: 5.6.4
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 5.4.0
96
+ version: 5.6.4
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pusher
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 2.0.1
103
+ version: 2.0.2
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: 2.0.1
110
+ version: 2.0.2
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,42 +128,42 @@ dependencies:
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 3.10.0
131
+ version: 3.11.0
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: 3.10.0
138
+ version: 3.11.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 1.18.4
145
+ version: 1.26.1
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.18.4
152
+ version: 1.26.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rubocop-performance
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 1.11.4
159
+ version: 1.13.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: 1.11.4
166
+ version: 1.13.3
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubocop-rake
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,56 +184,56 @@ dependencies:
184
184
  requirements:
185
185
  - - '='
186
186
  - !ruby/object:Gem::Version
187
- version: 2.4.0
187
+ version: 2.9.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - '='
193
193
  - !ruby/object:Gem::Version
194
- version: 2.4.0
194
+ version: 2.9.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: selenium-webdriver
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - '='
200
200
  - !ruby/object:Gem::Version
201
- version: 3.142.7
201
+ version: 4.1.0
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - '='
207
207
  - !ruby/object:Gem::Version
208
- version: 3.142.7
208
+ version: 4.1.0
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: sinatra
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - '='
214
214
  - !ruby/object:Gem::Version
215
- version: 2.1.0
215
+ version: 2.2.0
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - '='
221
221
  - !ruby/object:Gem::Version
222
- version: 2.1.0
222
+ version: 2.2.0
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: yard
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - '='
228
228
  - !ruby/object:Gem::Version
229
- version: 0.9.26
229
+ version: 0.9.27
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - '='
235
235
  - !ruby/object:Gem::Version
236
- version: 0.9.26
236
+ version: 0.9.27
237
237
  description: A fake Pusher server for development and testing.
238
238
  email: hello@tristandunn.com
239
239
  executables:
@@ -276,10 +276,9 @@ files:
276
276
  - spec/spec_helper.rb
277
277
  - spec/support/application.rb
278
278
  - spec/support/application/public/javascripts/vendor/polyfill.min.js
279
- - spec/support/application/public/javascripts/vendor/pusher-7.0.0.js
279
+ - spec/support/application/public/javascripts/vendor/pusher-7.0.6.js
280
280
  - spec/support/application/views/index.erb
281
281
  - spec/support/capybara.rb
282
- - spec/support/coveralls.rb
283
282
  - spec/support/helpers/connect.rb
284
283
  - spec/support/helpers/event.rb
285
284
  - spec/support/helpers/subscription.rb
@@ -290,7 +289,8 @@ files:
290
289
  homepage: https://github.com/tristandunn/pusher-fake
291
290
  licenses:
292
291
  - MIT
293
- metadata: {}
292
+ metadata:
293
+ rubygems_mfa_required: 'true'
294
294
  post_install_message:
295
295
  rdoc_options: []
296
296
  require_paths:
@@ -299,14 +299,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
299
299
  requirements:
300
300
  - - ">="
301
301
  - !ruby/object:Gem::Version
302
- version: '2.6'
302
+ version: '2.7'
303
303
  required_rubygems_version: !ruby/object:Gem::Requirement
304
304
  requirements:
305
305
  - - ">="
306
306
  - !ruby/object:Gem::Version
307
307
  version: '0'
308
308
  requirements: []
309
- rubygems_version: 3.2.22
309
+ rubygems_version: 3.3.7
310
310
  signing_key:
311
311
  specification_version: 4
312
312
  summary: A fake Pusher server for development and testing.
@@ -331,11 +331,10 @@ test_files:
331
331
  - spec/lib/pusher_fake_spec.rb
332
332
  - spec/spec_helper.rb
333
333
  - spec/support/application/public/javascripts/vendor/polyfill.min.js
334
- - spec/support/application/public/javascripts/vendor/pusher-7.0.0.js
334
+ - spec/support/application/public/javascripts/vendor/pusher-7.0.6.js
335
335
  - spec/support/application/views/index.erb
336
336
  - spec/support/application.rb
337
337
  - spec/support/capybara.rb
338
- - spec/support/coveralls.rb
339
338
  - spec/support/helpers/connect.rb
340
339
  - spec/support/helpers/event.rb
341
340
  - spec/support/helpers/subscription.rb
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- if ENV["CI"]
4
- require "coveralls"
5
-
6
- Coveralls.wear_merged! do
7
- add_filter "spec/"
8
- end
9
- end