aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_dispatch/http/upload.rb13
-rw-r--r--actionpack/test/dispatch/uploaded_file_test.rb22
2 files changed, 16 insertions, 19 deletions
diff --git a/actionpack/lib/action_dispatch/http/upload.rb b/actionpack/lib/action_dispatch/http/upload.rb
index 53f8039121..84e58d7d6a 100644
--- a/actionpack/lib/action_dispatch/http/upload.rb
+++ b/actionpack/lib/action_dispatch/http/upload.rb
@@ -13,13 +13,16 @@ module ActionDispatch
raise(ArgumentError, ':tempfile is required') unless @tempfile
end
- def respond_to?(name)
- super || @tempfile.respond_to?(name)
+ def read(*args)
+ @tempfile.read(*args)
end
- def method_missing(name, *args, &block)
- return super unless respond_to?(name)
- @tempfile.send(name, *args, &block)
+ def rewind
+ @tempfile.rewind
+ end
+
+ def size
+ @tempfile.size
end
end
diff --git a/actionpack/test/dispatch/uploaded_file_test.rb b/actionpack/test/dispatch/uploaded_file_test.rb
index c81797a73f..b51697b930 100644
--- a/actionpack/test/dispatch/uploaded_file_test.rb
+++ b/actionpack/test/dispatch/uploaded_file_test.rb
@@ -29,36 +29,30 @@ module ActionDispatch
end
def test_delegates_to_tempfile
- tf = Class.new { def tenderlove; 'thunderhorse' end }
+ tf = Class.new { def read; 'thunderhorse' end }
uf = Http::UploadedFile.new(:tempfile => tf.new)
- assert_equal 'thunderhorse', uf.tenderlove
+ assert_equal 'thunderhorse', uf.read
end
def test_delegates_to_tempfile_with_params
- tf = Class.new { def tenderlove *args; args end }
+ tf = Class.new { def read *args; args end }
uf = Http::UploadedFile.new(:tempfile => tf.new)
- assert_equal %w{ thunder horse }, uf.tenderlove(*%w{ thunder horse })
- end
-
- def test_delegates_to_tempfile_with_block
- tf = Class.new { def tenderlove; yield end }
- uf = Http::UploadedFile.new(:tempfile => tf.new)
- assert_equal('thunderhorse', uf.tenderlove { 'thunderhorse' })
+ assert_equal %w{ thunder horse }, uf.read(*%w{ thunder horse })
end
def test_delegate_respects_respond_to?
- tf = Class.new { def tenderlove; yield end; private :tenderlove }
+ tf = Class.new { def read; yield end; private :read }
uf = Http::UploadedFile.new(:tempfile => tf.new)
assert_raises(NoMethodError) do
- uf.tenderlove
+ uf.read
end
end
def test_respond_to?
- tf = Class.new { def tenderlove; yield end }
+ tf = Class.new { def read; yield end }
uf = Http::UploadedFile.new(:tempfile => tf.new)
assert uf.respond_to?(:headers), 'responds to headers'
- assert uf.respond_to?(:tenderlove), 'responds to tenderlove'
+ assert uf.respond_to?(:read), 'responds to read'
end
end
end