spring 2.0.2 → 2.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 42ad763baaed56f6c7dd36b05566eec2e008481b
4
- data.tar.gz: 6f228d8ea63046f99353e83e732a72ef1900b0fd
2
+ SHA256:
3
+ metadata.gz: 90758ca717a756e672dfeaaf8295f17fcfa38f3ea3bc8bd27093a4354d45b82f
4
+ data.tar.gz: 82533f3a3e3f5dc53c3f89d3b2734557bfefcf06b5cbe714238dba64160d56a3
5
5
  SHA512:
6
- metadata.gz: b049078c55028bbba601d2ca065fff5e3904cfd27b4ab6b719b7488e1bd044247cb88716126d46e5f26abb6296818d606b717ae4c0ad4c9c04726ff43e22c50e
7
- data.tar.gz: 12560b678ff15621efb6b479a443048330088f40ad328b920525785d59aa64064895565f96db5bb14801ce6c516106f3296ec8966a83b55142e915fa0df7bf74
6
+ metadata.gz: 80d8a7138fa74ad857a43671e54234da3a9b6265727f170c21905694397ebe5ec9b1102dbce3098835157e49e808cbbc52d74e1894a228ab0b25e521987cc4ca
7
+ data.tar.gz: 4366760559dfa2bae19ce7478302b35ca050cd431e39241427dfb5666de3a4eb704039ccdc4b02634556041aba71cebe22a053f4553e63db9d7ecdfbb980bf66
data/README.md CHANGED
@@ -16,8 +16,8 @@ boot it every time you run a test, rake task or migration.
16
16
 
17
17
  ## Compatibility
18
18
 
19
- * Ruby versions: MRI 1.9.3, MRI 2.0, MRI 2.1, MRI 2.2
20
- * Rails versions: 4.2, 5.0 (Spring is installed by default when you do
19
+ * Ruby versions: MRI 2.4, MRI 2.5, MRI 2.6
20
+ * Rails versions: 4.2, 5.0, 5.1, 5.2, 6.0 (Spring is installed by default when you do
21
21
  `rails new` to generate your application)
22
22
 
23
23
  Spring makes extensive use of `Process.fork`, so won't be able to
@@ -27,14 +27,14 @@ provide a speed up on platforms which don't support forking (Windows, JRuby).
27
27
 
28
28
  ### Setup
29
29
 
30
- Add spring to your Gemfile:
30
+ Add Spring to your Gemfile:
31
31
 
32
32
  ``` ruby
33
33
  gem "spring", group: :development
34
34
  ```
35
35
 
36
36
  (Note: using `gem "spring", git: "..."` *won't* work and is not a
37
- supported way of using spring.)
37
+ supported way of using Spring.)
38
38
 
39
39
  It's recommended to 'springify' the executables in your `bin/`
40
40
  directory:
@@ -54,13 +54,13 @@ rescue LoadError
54
54
  end
55
55
  ```
56
56
 
57
- On platforms where spring is installed and supported, this snippet
58
- hooks spring into the execution of commands. In other cases, the snippet
57
+ On platforms where Spring is installed and supported, this snippet
58
+ hooks Spring into the execution of commands. In other cases, the snippet
59
59
  will just be silently ignored and the lines after it will be executed as
60
60
  normal.
61
61
 
62
62
  If you don't want to prefix every command you type with `bin/`, you
63
- can [use direnv](https://github.com/zimbatm/direnv#the-stdlib) to
63
+ can [use direnv](https://github.com/direnv/direnv#the-stdlib) to
64
64
  automatically add `./bin` to your `PATH` when you `cd` into your application.
65
65
  Simply create an `.envrc` file with the command `PATH_add bin` in your
66
66
  Rails directory.
@@ -90,7 +90,7 @@ user 0m0.281s
90
90
  sys 0m0.066s
91
91
  ```
92
92
 
93
- That wasn't particularly fast because it was the first run, so spring
93
+ That wasn't particularly fast because it was the first run, so Spring
94
94
  had to boot the application. It's now running:
95
95
 
96
96
  ```
@@ -167,7 +167,7 @@ Spring is running:
167
167
  26707 spring app | spring-demo-app | started 2 secs ago | development mode
168
168
  ```
169
169
 
170
- There's no need to "shut down" spring. This will happen automatically
170
+ There's no need to "shut down" Spring. This will happen automatically
171
171
  when you close your terminal. However if you do want to do a manual shut
172
172
  down, use the `stop` command:
173
173
 
@@ -176,9 +176,11 @@ $ bin/spring stop
176
176
  Spring stopped.
177
177
  ```
178
178
 
179
+ From within your code, you can check whether Spring is active with `if defined?(Spring)`.
180
+
179
181
  ### Removal
180
182
 
181
- To remove spring:
183
+ To remove Spring:
182
184
 
183
185
  * 'Unspring' your bin/ executables: `bin/spring binstub --remove --all`
184
186
  * Remove spring from your Gemfile
@@ -216,7 +218,7 @@ Spring::Commands::Rake.environment_matchers[:default] = "development"
216
218
  ### `rails console`, `rails generate`, `rails runner`
217
219
 
218
220
  These execute the rails command you already know and love. If you run
219
- a different sub command (e.g. `rails server`) then spring will automatically
221
+ a different sub command (e.g. `rails server`) then Spring will automatically
220
222
  pass it through to the underlying `rails` executable (without the
221
223
  speed-up).
222
224
 
@@ -230,18 +232,21 @@ You can add these to your Gemfile for additional commands:
230
232
  * [spring-commands-testunit](https://github.com/jonleighton/spring-commands-testunit) - useful for
231
233
  running `Test::Unit` tests on Rails 3, since only Rails 4 allows you
232
234
  to use `rake test path/to/test` to run a particular test/directory.
235
+ * [spring-commands-parallel-tests](https://github.com/DocSpring/spring-commands-parallel-tests) - Adds the `parallel_*` commands from [`parallel_tests`](https://github.com/grosser/parallel_tests).
233
236
  * [spring-commands-teaspoon](https://github.com/alejandrobabio/spring-commands-teaspoon.git)
234
237
  * [spring-commands-m](https://github.com/gabrieljoelc/spring-commands-m.git)
235
238
  * [spring-commands-rubocop](https://github.com/p0deje/spring-commands-rubocop)
239
+ * [spring-commands-rackup](https://github.com/wintersolutions/spring-commands-rackup)
240
+ * [spring-commands-rack-console](https://github.com/wintersolutions/spring-commands-rack-console)
236
241
 
237
242
  ## Use without adding to bundle
238
243
 
239
- If you don't want spring-related code checked into your source
240
- repository, it's possible to use spring without adding to your Gemfile.
241
- However, using spring binstubs without adding spring to the Gemfile is not
244
+ If you don't want Spring-related code checked into your source
245
+ repository, it's possible to use Spring without adding to your Gemfile.
246
+ However, using Spring binstubs without adding Spring to the Gemfile is not
242
247
  supported.
243
248
 
244
- To use spring like this, do a `gem install spring` and then prefix
249
+ To use Spring like this, do a `gem install spring` and then prefix
245
250
  commands with `spring`. For example, rather than running `bin/rake -T`,
246
251
  you'd run `spring rake -T`.
247
252
 
@@ -397,14 +402,14 @@ The following environment variables are used by Spring:
397
402
  the long-running Spring server process. By default this is related to
398
403
  the socket path; if the socket path is `/foo/bar/spring.sock` the
399
404
  pidfile will be `/foo/bar/spring.pid`.
400
- * `SPRING_SERVER_COMMAND` - The command to run to start up the spring
405
+ * `SPRING_SERVER_COMMAND` - The command to run to start up the Spring
401
406
  server when it is not already running. Defaults to `spring _[version]_
402
407
  server --background`.
403
408
 
404
409
  ## Troubleshooting
405
410
 
406
- If you want to get more information about what spring is doing, you can
407
- run spring explicitly in a separate terminal:
411
+ If you want to get more information about what Spring is doing, you can
412
+ run Spring explicitly in a separate terminal:
408
413
 
409
414
  ```
410
415
  $ spring server
@@ -91,6 +91,10 @@ module Spring
91
91
 
92
92
  require Spring.application_root_path.join("config", "application")
93
93
 
94
+ unless Rails.respond_to?(:gem_version) && Rails.gem_version >= Gem::Version.new('4.2.0')
95
+ raise "Spring only supports Rails >= 4.2.0"
96
+ end
97
+
94
98
  # config/environments/test.rb will have config.cache_classes = true. However
95
99
  # we want it to be false so that we can reload files. This is a hack to
96
100
  # override the effect of config.cache_classes = true. We can then actually
@@ -147,7 +151,7 @@ module Spring
147
151
  log "got client"
148
152
  manager.puts
149
153
 
150
- stdout, stderr, stdin = streams = 3.times.map { client.recv_io }
154
+ _stdout, stderr, _stdin = streams = 3.times.map { client.recv_io }
151
155
  [STDOUT, STDERR, STDIN].zip(streams).each { |a, b| a.reopen(b) }
152
156
 
153
157
  preload unless preloaded?
@@ -168,20 +172,35 @@ module Spring
168
172
  end
169
173
  end
170
174
 
175
+ # Ensure we boot the process in the directory the command was called from,
176
+ # not from the directory Spring started in
177
+ original_dir = Dir.pwd
178
+ Dir.chdir(env['PWD'] || original_dir)
179
+
171
180
  pid = fork {
172
181
  Process.setsid
173
182
  IGNORE_SIGNALS.each { |sig| trap(sig, "DEFAULT") }
174
183
  trap("TERM", "DEFAULT")
175
184
 
176
- STDERR.puts "Running via Spring preloader in process #{Process.pid}" unless Spring.quiet
185
+ unless Spring.quiet
186
+ STDERR.puts "Running via Spring preloader in process #{Process.pid}"
187
+
188
+ if Rails.env.production?
189
+ STDERR.puts "WARNING: Spring is running in production. To fix " \
190
+ "this make sure the spring gem is only present " \
191
+ "in `development` and `test` groups in your Gemfile " \
192
+ "and make sure you always use " \
193
+ "`bundle install --without development test` in production"
194
+ end
195
+ end
177
196
 
178
197
  ARGV.replace(args)
179
198
  $0 = command.exec_name
180
199
 
181
- # Delete all env vars which are unchanged from before spring started
200
+ # Delete all env vars which are unchanged from before Spring started
182
201
  original_env.each { |k, v| ENV.delete k if ENV[k] == v }
183
202
 
184
- # Load in the current env vars, except those which *were* changed when spring started
203
+ # Load in the current env vars, except those which *were* changed when Spring started
185
204
  env.each { |k, v| ENV[k] ||= v }
186
205
 
187
206
  # requiring is faster, so if config.cache_classes was true in
@@ -223,6 +242,7 @@ module Spring
223
242
  # (i.e. to prevent `spring rake -T | grep db` from hanging forever),
224
243
  # even when exception is raised before forking (i.e. preloading).
225
244
  reset_streams
245
+ Dir.chdir(original_dir)
226
246
  end
227
247
 
228
248
  def terminate
@@ -7,6 +7,7 @@ module Spring
7
7
  @spring_env = spring_env
8
8
  @mutex = Mutex.new
9
9
  @state = :running
10
+ @pid = nil
10
11
  end
11
12
 
12
13
  def log(message)
@@ -92,7 +93,8 @@ module Spring
92
93
  def start_child(preload = false)
93
94
  @child, child_socket = UNIXSocket.pair
94
95
 
95
- Bundler.with_clean_env do
96
+ Bundler.with_original_env do
97
+ bundler_dir = File.expand_path("../..", $LOADED_FEATURES.grep(/bundler\/setup\.rb$/).first)
96
98
  @pid = Process.spawn(
97
99
  {
98
100
  "RAILS_ENV" => app_env,
@@ -101,7 +103,7 @@ module Spring
101
103
  "SPRING_PRELOAD" => preload ? "1" : "0"
102
104
  },
103
105
  "ruby",
104
- "-I", File.expand_path("../..", $LOADED_FEATURES.grep(/bundler\/setup\.rb$/).first),
106
+ *(bundler_dir != RbConfig::CONFIG["rubylibdir"] ? ["-I", bundler_dir] : []),
105
107
  "-I", File.expand_path("../..", __FILE__),
106
108
  "-e", "require 'spring/application/boot'",
107
109
  3 => child_socket,
@@ -1,26 +1,6 @@
1
1
  command = File.basename($0)
2
2
  bin_path = File.expand_path("../../../bin/spring", __FILE__)
3
3
 
4
- # When we run a command which does not go through Spring (e.g. DISABLE_SPRING
5
- # is used, or we just call 'rails' or something) then we get this warning from
6
- # Rubygems:
7
- #
8
- # WARN: Unresolved specs during Gem::Specification.reset: activesupport (<= 5.1, >= 4.2)
9
- # WARN: Clearing out unresolved specs.
10
- # Please report a bug if this causes problems.
11
- #
12
- # This happens due to our dependency on activesupport, when Bundler.setup gets
13
- # called. We don't actually *use* the dependency; it is purely there to
14
- # restrict the Rails version that we're compatible with.
15
- #
16
- # When the warning is shown, Rubygems just does the below.
17
- # Therefore, by doing it ourselves here, we can avoid the warning.
18
- if Gem::Specification.respond_to?(:unresolved_deps)
19
- Gem::Specification.unresolved_deps.clear
20
- else
21
- Gem.unresolved_deps.clear
22
- end
23
-
24
4
  if command == "spring"
25
5
  load bin_path
26
6
  else
@@ -3,11 +3,11 @@ require 'set'
3
3
  module Spring
4
4
  module Client
5
5
  class Binstub < Command
6
- SHEBANG = /\#\!.*\n/
6
+ SHEBANG = /\#\!.*\n(\#.*\n)*/
7
7
 
8
- # If loading the bin/spring file works, it'll run spring which will
8
+ # If loading the bin/spring file works, it'll run Spring which will
9
9
  # eventually call Kernel.exit. This means that in the client process
10
- # we will never execute the lines after this block. But if the spring
10
+ # we will never execute the lines after this block. But if the Spring
11
11
  # client is not invoked for whatever reason, then the Kernel.exit won't
12
12
  # happen, and so we'll fall back to the lines after this block, which
13
13
  # should cause the "unsprung" version of the command to run.
@@ -26,7 +26,7 @@ CODE
26
26
  SPRING = <<'CODE'
27
27
  #!/usr/bin/env ruby
28
28
 
29
- # This file loads spring without using Bundler, in order to be fast.
29
+ # This file loads Spring without using Bundler, in order to be fast.
30
30
  # It gets overwritten when you run the `spring binstub` command.
31
31
 
32
32
  unless defined?(Spring)
@@ -34,7 +34,7 @@ unless defined?(Spring)
34
34
  require 'bundler'
35
35
 
36
36
  lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
37
- spring = lockfile.specs.detect { |spec| spec.name == "spring" }
37
+ spring = lockfile.specs.detect { |spec| spec.name == 'spring' }
38
38
  if spring
39
39
  Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
40
40
  gem 'spring', spring.version
@@ -46,11 +46,10 @@ CODE
46
46
  OLD_BINSTUB = %{if !Process.respond_to?(:fork) || Gem::Specification.find_all_by_name("spring").empty?}
47
47
 
48
48
  BINSTUB_VARIATIONS = Regexp.union [
49
- %{begin\n load File.expand_path("../spring", __FILE__)\nrescue LoadError\nend\n},
50
49
  %{begin\n load File.expand_path('../spring', __FILE__)\nrescue LoadError\nend\n},
51
50
  %{begin\n spring_bin_path = File.expand_path('../spring', __FILE__)\n load spring_bin_path\nrescue LoadError => e\n raise unless e.message.end_with? spring_bin_path, 'spring/binstub'\nend\n},
52
51
  LOADER
53
- ]
52
+ ].map { |binstub| /#{Regexp.escape(binstub).gsub("'", "['\"]")}/ }
54
53
 
55
54
  class Item
56
55
  attr_reader :command, :existing
@@ -79,7 +78,7 @@ CODE
79
78
  generate(fallback)
80
79
  status "upgraded"
81
80
  elsif existing.include?(LOADER)
82
- status "spring already present"
81
+ status "Spring already present"
83
82
  elsif existing =~ BINSTUB_VARIATIONS
84
83
  upgraded = existing.sub(BINSTUB_VARIATIONS, LOADER)
85
84
  File.write(command.binstub, upgraded)
@@ -94,15 +93,15 @@ CODE
94
93
  end
95
94
 
96
95
  File.write(command.binstub, "#{head}#{shebang}#{LOADER}#{tail}")
97
- status "spring inserted"
96
+ status "Spring inserted"
98
97
  else
99
- status "doesn't appear to be ruby, so cannot use spring", $stderr
98
+ status "doesn't appear to be ruby, so cannot use Spring", $stderr
100
99
  exit 1
101
100
  end
102
101
  end
103
102
  else
104
103
  generate
105
- status "generated with spring"
104
+ status "generated with Spring"
106
105
  end
107
106
  end
108
107
 
@@ -119,7 +118,7 @@ CODE
119
118
  def remove
120
119
  if existing
121
120
  File.write(command.binstub, existing.sub(BINSTUB_VARIATIONS, ""))
122
- status "spring removed"
121
+ status "Spring removed"
123
122
  end
124
123
  end
125
124
  end
@@ -127,7 +126,7 @@ CODE
127
126
  attr_reader :bindir, :items
128
127
 
129
128
  def self.description
130
- "Generate spring based binstubs. Use --all to generate a binstub for all known commands. Use --remove to revert."
129
+ "Generate Spring based binstubs. Use --all to generate a binstub for all known commands. Use --remove to revert."
131
130
  end
132
131
 
133
132
  def self.rails_command
@@ -32,7 +32,7 @@ module Spring
32
32
  def formatted_help
33
33
  ["Version: #{env.version}\n",
34
34
  "Usage: spring COMMAND [ARGS]\n",
35
- *command_help("spring itself", spring_commands),
35
+ *command_help("Spring itself", spring_commands),
36
36
  '',
37
37
  *command_help("your application", application_commands)].join("\n")
38
38
  end
@@ -14,7 +14,7 @@ module Spring
14
14
  }
15
15
 
16
16
  def self.description
17
- "Run a rails command. The following sub commands will use spring: #{COMMANDS.to_a.join ', '}."
17
+ "Run a rails command. The following sub commands will use Spring: #{COMMANDS.to_a.join ', '}."
18
18
  end
19
19
 
20
20
  def call
@@ -44,7 +44,7 @@ module Spring
44
44
  require "spring/commands"
45
45
 
46
46
  if Spring.command?(args.first)
47
- # Command installed since spring started
47
+ # Command installed since Spring started
48
48
  stop_server
49
49
  cold_run
50
50
  else
@@ -116,7 +116,7 @@ module Spring
116
116
  def verify_server_version
117
117
  server_version = server.gets.chomp
118
118
  if server_version != env.version
119
- $stderr.puts "There is a version mismatch between the spring client " \
119
+ $stderr.puts "There is a version mismatch between the Spring client " \
120
120
  "(#{env.version}) and the server (#{server_version})."
121
121
 
122
122
  if server_booted?
@@ -161,6 +161,8 @@ module Spring
161
161
  if pid && !pid.empty?
162
162
  log "got pid: #{pid}"
163
163
 
164
+ suspend_resume_on_tstp_cont(pid)
165
+
164
166
  forward_signals(application)
165
167
  status = application.read.to_i
166
168
 
@@ -181,6 +183,18 @@ module Spring
181
183
  end
182
184
  end
183
185
 
186
+ def suspend_resume_on_tstp_cont(pid)
187
+ trap("TSTP") {
188
+ log "suspended"
189
+ Process.kill("STOP", pid.to_i)
190
+ Process.kill("STOP", Process.pid)
191
+ }
192
+ trap("CONT") {
193
+ log "resumed"
194
+ Process.kill("CONT", pid.to_i)
195
+ }
196
+ end
197
+
184
198
  def forward_signals(application)
185
199
  @signal_queue.each { |sig| kill sig, application }
186
200
 
@@ -4,7 +4,7 @@ module Spring
4
4
  module Client
5
5
  class Stop < Command
6
6
  def self.description
7
- "Stop all spring processes for this project."
7
+ "Stop all Spring processes for this project."
8
8
  end
9
9
 
10
10
  def call
@@ -32,7 +32,7 @@ module Spring
32
32
  # then we need to be under bundler.
33
33
  require "bundler/setup"
34
34
 
35
- # Auto-require any spring extensions which are in the Gemfile
35
+ # Auto-require any Spring extensions which are in the Gemfile
36
36
  Gem::Specification.map(&:name).grep(/^spring-/).each do |command|
37
37
  begin
38
38
  require command
@@ -5,7 +5,11 @@ module Spring
5
5
  attr_accessor :application_root, :quiet
6
6
 
7
7
  def gemfile
8
- ENV['BUNDLE_GEMFILE'] || "Gemfile"
8
+ if /\s1.9.[0-9]/ === Bundler.ruby_scope.gsub(/[\/\s]+/,'')
9
+ ENV["BUNDLE_GEMFILE"] || "Gemfile"
10
+ else
11
+ Bundler.default_gemfile
12
+ end
9
13
  end
10
14
 
11
15
  def after_fork_callbacks
data/lib/spring/errors.rb CHANGED
@@ -24,7 +24,7 @@ module Spring
24
24
 
25
25
  def message
26
26
  "Spring was unable to find your config/application.rb file. " \
27
- "Your project root was detected at #{project_root}, so spring " \
27
+ "Your project root was detected at #{project_root}, so Spring " \
28
28
  "looked for #{project_root}/config/application.rb but it doesn't exist. You can " \
29
29
  "configure the root of your application by setting Spring.application_root in " \
30
30
  "config/spring.rb."
@@ -1,6 +1,6 @@
1
1
  module Spring
2
2
  # Yes, I know this reimplements a bunch of stuff in Active Support, but
3
- # I don't want the spring client to depend on AS, in order to keep its
3
+ # I don't want the Spring client to depend on AS, in order to keep its
4
4
  # load time down.
5
5
  class ProcessTitleUpdater
6
6
  SECOND = 1
@@ -1,3 +1,3 @@
1
1
  module Spring
2
- VERSION = "2.0.2"
2
+ VERSION = "2.1.1"
3
3
  end
metadata CHANGED
@@ -1,31 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spring
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Leighton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-21 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.2'
20
- type: :runtime
19
+ version: '0'
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '4.2'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: bump
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bump
42
+ name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -91,12 +91,6 @@ files:
91
91
  - lib/spring/process_title_updater.rb
92
92
  - lib/spring/server.rb
93
93
  - lib/spring/sid.rb
94
- - lib/spring/test.rb
95
- - lib/spring/test/acceptance_test.rb
96
- - lib/spring/test/application.rb
97
- - lib/spring/test/application_generator.rb
98
- - lib/spring/test/rails_version.rb
99
- - lib/spring/test/watcher_test.rb
100
94
  - lib/spring/version.rb
101
95
  - lib/spring/watcher.rb
102
96
  - lib/spring/watcher/abstract.rb
@@ -113,15 +107,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
107
  requirements:
114
108
  - - ">="
115
109
  - !ruby/object:Gem::Version
116
- version: '0'
110
+ version: 2.4.0
117
111
  required_rubygems_version: !ruby/object:Gem::Requirement
118
112
  requirements:
119
113
  - - ">="
120
114
  - !ruby/object:Gem::Version
121
115
  version: '0'
122
116
  requirements: []
123
- rubyforge_project:
124
- rubygems_version: 2.6.8
117
+ rubygems_version: 3.0.3
125
118
  signing_key:
126
119
  specification_version: 4
127
120
  summary: Rails application preloader