unpack: use correct constant scope for DATA

Formula::DATA only worked by accident of implementation; DATA during the
build is actually Object::DATA, so we should mirror that here.

This reverts commit b12444ba6e1ac1d596a70ff4c777d9386d0791ac.
This commit is contained in:
Jack Nagel 2014-04-29 15:40:37 -05:00
parent 69573ba7a2
commit 32b7c9ff15

View File

@ -28,22 +28,13 @@ module UnpackPatch
return unless ARGV.flag? "--patch"
begin
# Silence complaints about re-setting constants.
old_verbose = $VERBOSE
$VERBOSE = nil
Formula.const_set "DATA", ScriptDataReader.load(path)
Object.const_set "DATA", ScriptDataReader.load(path)
ensure
$VERBOSE = old_verbose
end
# Legacy patches are fixed by setting Formula::DATA.
# Now, handle instances of IOPatch.
patchlist.select{|p| p.is_a? IOPatch}.each do |patch|
if patch.instance_variable_get(:@io) == :DATA
patch.instance_variable_set :@io, ScriptDataReader.load(path)
end
end
super
end
end