Module: HTTP::FormData::Readable

Included in:
Multipart, Multipart::Param, Part, Urlencoded
Defined in:
lib/http/form_data/readable.rb

Overview

Common behaviour for objects defined by an IO object.

Instance Method Summary collapse

Instance Method Details

#read(length = nil, outbuf = nil) ⇒ String?

Reads and returns part of IO content

Examples:

readable.read      # => "full content"
readable.read(5)   # => "full "

Parameters:

  • length (Integer) (defaults to: nil)

    Number of bytes to retrieve

  • outbuf (String) (defaults to: nil)

    String to be replaced with retrieved data

Returns:

  • (String, nil)


31
32
33
# File 'lib/http/form_data/readable.rb', line 31

def read(length = nil, outbuf = nil)
  @io.read(length, outbuf)
end

#rewindvoid

This method returns an undefined value.

Rewinds the IO to the beginning

Examples:

readable.rewind


53
54
55
# File 'lib/http/form_data/readable.rb', line 53

def rewind
  @io.rewind
end

#sizeInteger

Returns IO size in bytes

Examples:

readable.size # => 42

Returns:

  • (Integer)


42
43
44
# File 'lib/http/form_data/readable.rb', line 42

def size
  @io.size
end

#to_sString

Returns IO content as a String

Examples:

readable.to_s # => "content"

Returns:

  • (String)


14
15
16
17
18
19
# File 'lib/http/form_data/readable.rb', line 14

def to_s
  rewind
  content = read #: String
  rewind
  content
end