diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-11-05 02:34:35 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-11-05 02:34:35 +0000 |
commit | 283050fc283868f79796f05901bd9149713ae282 (patch) | |
tree | 60b5f97790421689e2e84f709f7a22d61c7ff9da /lib/mogilefs/mogilefs.rb | |
parent | f057a82730d252c509f8c590430dbf4507d17601 (diff) | |
download | mogilefs-client-283050fc283868f79796f05901bd9149713ae282.tar.gz |
Avoid deepening stack depth and make it easier to migrate fully to 1.9 in the future (dropping 1.8 support).
Diffstat (limited to 'lib/mogilefs/mogilefs.rb')
-rw-r--r-- | lib/mogilefs/mogilefs.rb | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb index 8679d2e..812fba6 100644 --- a/lib/mogilefs/mogilefs.rb +++ b/lib/mogilefs/mogilefs.rb @@ -8,7 +8,6 @@ require 'mogilefs/http_reader' class MogileFS::MogileFS < MogileFS::Client - include MogileFS::Util include MogileFS::Bigfile ## @@ -137,15 +136,15 @@ class MogileFS::MogileFS < MogileFS::Client raise MogileFS::ReadOnlyError if readonly? new_file key, klass do |mfp| - if file.respond_to?(:read) - copy_stream(file, mfp) + if file.respond_to?(:readpartial) + MogileFS::X.copy_stream(file, mfp) else size = File.size(file) if size > 0x10000 # Bigass file, handle differently mfp.big_io = file size else - File.open(file, "rb") { |fp| copy_stream(fp, mfp) } + MogileFS::X.copy_stream(file, mfp) end end end |