Provide interface for accessing underlying IO object
In some cases users may need to work with/manipulate more of the Tempfile api than provided by Upload. Allow users to get at the underlying io via the common to_io method of IO/IO-like objects
This commit is contained in:
parent
43f525031a
commit
e601728dce
@ -31,6 +31,11 @@ def initialize(hash) # :nodoc:
|
||||
@headers = hash[:head]
|
||||
end
|
||||
|
||||
# Shortcut for working directly with +tempfile+
|
||||
def to_io
|
||||
@tempfile
|
||||
end
|
||||
|
||||
# Shortcut for +tempfile.read+.
|
||||
def read(length=nil, buffer=nil)
|
||||
@tempfile.read(length, buffer)
|
||||
|
@ -33,6 +33,12 @@ def test_tempfile
|
||||
assert_equal 'foo', uf.tempfile
|
||||
end
|
||||
|
||||
def test_delegates_to_io_to_tempfile
|
||||
tf = Object.new
|
||||
uf = Http::UploadedFile.new(:tempfile => tf)
|
||||
assert_equal tf, uf.to_io
|
||||
end
|
||||
|
||||
def test_delegates_path_to_tempfile
|
||||
tf = Class.new { def path; 'thunderhorse' end }
|
||||
uf = Http::UploadedFile.new(:tempfile => tf.new)
|
||||
|
Loading…
Reference in New Issue
Block a user