about summary refs log tree commit homepage
path: root/lib/mogilefs/mogilefs.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-11-05 02:34:35 +0000
committerEric Wong <normalperson@yhbt.net>2011-11-05 02:34:35 +0000
commit283050fc283868f79796f05901bd9149713ae282 (patch)
tree60b5f97790421689e2e84f709f7a22d61c7ff9da /lib/mogilefs/mogilefs.rb
parentf057a82730d252c509f8c590430dbf4507d17601 (diff)
downloadmogilefs-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.rb7
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