spring 1.4.2 → 1.4.3
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/lib/spring/client/binstub.rb +13 -3
- data/lib/spring/test/acceptance_test.rb +93 -1
- data/lib/spring/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9ab248b060de48656183c39be797c8eb377d1eb
|
4
|
+
data.tar.gz: 94bb1ce1cd992afa8930576f76a7c3d6678d9b5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87bbd18c5b6e8370a741472faa21d7933541227307be14306d050244e2cd523d81ffa88afefcd015419c8a2fd54edcfd394192d7ab02af76c3c718826f536f28
|
7
|
+
data.tar.gz: 1048881582aa1e47d94602144911752f208e57ae956d225f93b33310851074269f34785ce05dbf8deb19590fe084a617a238a49734de1f5cfba5858d18636251
|
@@ -48,6 +48,12 @@ CODE
|
|
48
48
|
|
49
49
|
OLD_BINSTUB = %{if !Process.respond_to?(:fork) || Gem::Specification.find_all_by_name("spring").empty?}
|
50
50
|
|
51
|
+
BINSTUB_VARIATIONS = Regexp.union [
|
52
|
+
%{begin\n load File.expand_path("../spring", __FILE__)\nrescue LoadError\nend\n},
|
53
|
+
%{begin\n load File.expand_path('../spring', __FILE__)\nrescue LoadError\nend\n},
|
54
|
+
LOADER
|
55
|
+
]
|
56
|
+
|
51
57
|
class Item
|
52
58
|
attr_reader :command, :existing
|
53
59
|
|
@@ -74,8 +80,12 @@ CODE
|
|
74
80
|
fallback = nil if fallback.include?("exec")
|
75
81
|
generate(fallback)
|
76
82
|
status "upgraded"
|
77
|
-
elsif existing
|
83
|
+
elsif existing.include?(LOADER)
|
78
84
|
status "spring already present"
|
85
|
+
elsif existing =~ BINSTUB_VARIATIONS
|
86
|
+
upgraded = existing.sub(BINSTUB_VARIATIONS, LOADER)
|
87
|
+
File.write(command.binstub, upgraded)
|
88
|
+
status "upgraded"
|
79
89
|
else
|
80
90
|
head, shebang, tail = existing.partition(SHEBANG)
|
81
91
|
|
@@ -110,7 +120,7 @@ CODE
|
|
110
120
|
|
111
121
|
def remove
|
112
122
|
if existing
|
113
|
-
File.write(command.binstub, existing.sub(
|
123
|
+
File.write(command.binstub, existing.sub(BINSTUB_VARIATIONS, ""))
|
114
124
|
status "spring removed"
|
115
125
|
end
|
116
126
|
end
|
@@ -119,7 +129,7 @@ CODE
|
|
119
129
|
attr_reader :bindir, :items
|
120
130
|
|
121
131
|
def self.description
|
122
|
-
"Generate spring based binstubs. Use --all to generate a binstub for all known commands."
|
132
|
+
"Generate spring based binstubs. Use --all to generate a binstub for all known commands. Use --remove to revert."
|
123
133
|
end
|
124
134
|
|
125
135
|
def self.rails_command
|
@@ -208,6 +208,11 @@ module Spring
|
|
208
208
|
assert_success "bin/rake -T", stdout: "rake db:migrate"
|
209
209
|
end
|
210
210
|
|
211
|
+
test "binstub remove all" do
|
212
|
+
assert_success "bin/spring binstub --remove --all"
|
213
|
+
refute File.exist?(app.path("bin/spring"))
|
214
|
+
end
|
215
|
+
|
211
216
|
test "binstub when spring gem is missing" do
|
212
217
|
without_gem "spring-#{Spring::VERSION}" do
|
213
218
|
File.write(app.gemfile, app.gemfile.read.gsub(/gem 'spring.*/, ""))
|
@@ -224,7 +229,7 @@ module Spring
|
|
224
229
|
end
|
225
230
|
end
|
226
231
|
|
227
|
-
test "binstub upgrade" do
|
232
|
+
test "binstub upgrade with old binstub" do
|
228
233
|
File.write(app.path("bin/rake"), <<-RUBY.strip_heredoc)
|
229
234
|
#!/usr/bin/env ruby
|
230
235
|
|
@@ -269,6 +274,93 @@ module Spring
|
|
269
274
|
assert_equal expected, app.path("bin/rails").read
|
270
275
|
end
|
271
276
|
|
277
|
+
test "binstub upgrade with new binstub variations" do
|
278
|
+
# older variation with double quotes
|
279
|
+
File.write(app.path("bin/rake"), <<-RUBY.strip_heredoc)
|
280
|
+
#!/usr/bin/env ruby
|
281
|
+
begin
|
282
|
+
load File.expand_path("../spring", __FILE__)
|
283
|
+
rescue LoadError
|
284
|
+
end
|
285
|
+
require 'bundler/setup'
|
286
|
+
load Gem.bin_path('rake', 'rake')
|
287
|
+
RUBY
|
288
|
+
|
289
|
+
# newer variation with single quotes
|
290
|
+
File.write(app.path("bin/rails"), <<-RUBY.strip_heredoc)
|
291
|
+
#!/usr/bin/env ruby
|
292
|
+
begin
|
293
|
+
load File.expand_path('../spring', __FILE__)
|
294
|
+
rescue LoadError
|
295
|
+
end
|
296
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
297
|
+
require_relative '../config/boot'
|
298
|
+
require 'rails/commands'
|
299
|
+
RUBY
|
300
|
+
|
301
|
+
assert_success "bin/spring binstub --all", stdout: "upgraded"
|
302
|
+
|
303
|
+
expected = <<-RUBY.gsub(/^ /, "")
|
304
|
+
#!/usr/bin/env ruby
|
305
|
+
#{Spring::Client::Binstub::LOADER.strip}
|
306
|
+
require 'bundler/setup'
|
307
|
+
load Gem.bin_path('rake', 'rake')
|
308
|
+
RUBY
|
309
|
+
assert_equal expected, app.path("bin/rake").read
|
310
|
+
|
311
|
+
expected = <<-RUBY.gsub(/^ /, "")
|
312
|
+
#!/usr/bin/env ruby
|
313
|
+
#{Spring::Client::Binstub::LOADER.strip}
|
314
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
315
|
+
require_relative '../config/boot'
|
316
|
+
require 'rails/commands'
|
317
|
+
RUBY
|
318
|
+
assert_equal expected, app.path("bin/rails").read
|
319
|
+
end
|
320
|
+
|
321
|
+
test "binstub remove with new binstub variations" do
|
322
|
+
# older variation with double quotes
|
323
|
+
File.write(app.path("bin/rake"), <<-RUBY.strip_heredoc)
|
324
|
+
#!/usr/bin/env ruby
|
325
|
+
begin
|
326
|
+
load File.expand_path("../spring", __FILE__)
|
327
|
+
rescue LoadError
|
328
|
+
end
|
329
|
+
require 'bundler/setup'
|
330
|
+
load Gem.bin_path('rake', 'rake')
|
331
|
+
RUBY
|
332
|
+
|
333
|
+
# newer variation with single quotes
|
334
|
+
File.write(app.path("bin/rails"), <<-RUBY.strip_heredoc)
|
335
|
+
#!/usr/bin/env ruby
|
336
|
+
begin
|
337
|
+
load File.expand_path('../spring', __FILE__)
|
338
|
+
rescue LoadError
|
339
|
+
end
|
340
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
341
|
+
require_relative '../config/boot'
|
342
|
+
require 'rails/commands'
|
343
|
+
RUBY
|
344
|
+
|
345
|
+
assert_success "bin/spring binstub --remove rake", stdout: "bin/rake: spring removed"
|
346
|
+
assert_success "bin/spring binstub --remove rails", stdout: "bin/rails: spring removed"
|
347
|
+
|
348
|
+
expected = <<-RUBY.strip_heredoc
|
349
|
+
#!/usr/bin/env ruby
|
350
|
+
require 'bundler/setup'
|
351
|
+
load Gem.bin_path('rake', 'rake')
|
352
|
+
RUBY
|
353
|
+
assert_equal expected, app.path("bin/rake").read
|
354
|
+
|
355
|
+
expected = <<-RUBY.strip_heredoc
|
356
|
+
#!/usr/bin/env ruby
|
357
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
358
|
+
require_relative '../config/boot'
|
359
|
+
require 'rails/commands'
|
360
|
+
RUBY
|
361
|
+
assert_equal expected, app.path("bin/rails").read
|
362
|
+
end
|
363
|
+
|
272
364
|
test "after fork callback" do
|
273
365
|
File.write(app.spring_config, "Spring.after_fork { puts '!callback!' }")
|
274
366
|
assert_success "bin/rails runner 'puts 2'", stdout: "!callback!\n2"
|
data/lib/spring/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spring
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Leighton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|