75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/spring/client/binstub.rb', line 75
def add
if existing
if existing.include?(OLD_BINSTUB)
fallback = existing.match(/#{Regexp.escape OLD_BINSTUB}\n(.*)else/m)[1]
fallback.gsub!(/^ /, "")
fallback = nil if fallback.include?("exec")
generate(fallback)
status "upgraded"
elsif existing.include?(LOADER)
status "spring already present"
elsif existing =~ BINSTUB_VARIATIONS
upgraded = existing.sub(BINSTUB_VARIATIONS, LOADER)
File.write(command.binstub, upgraded)
status "upgraded"
else
head, shebang, tail = existing.partition(SHEBANG)
if shebang.include?("ruby")
unless command.binstub.exist?
FileUtils.touch command.binstub
command.binstub.chmod 0755
end
File.write(command.binstub, "#{head}#{shebang}#{LOADER}#{tail}")
status "spring inserted"
else
status "doesn't appear to be ruby, so cannot use spring", $stderr
exit 1
end
end
else
generate
status "generated with spring"
end
end
|