Class: Rack::Multipart::Parser::Collector
- Inherits:
-
Object
- Object
- Rack::Multipart::Parser::Collector
show all
- Includes:
- Enumerable
- Defined in:
- lib/rack/multipart/parser.rb
Defined Under Namespace
Classes: BufferPart, MimePart, TempfilePart
Instance Method Summary
collapse
Constructor Details
#initialize(tempfile) ⇒ Collector
Returns a new instance of Collector.
121
122
123
124
125
|
# File 'lib/rack/multipart/parser.rb', line 121
def initialize tempfile
@tempfile = tempfile
@mime_parts = []
@open_files = 0
end
|
Instance Method Details
#each ⇒ Object
127
128
129
|
# File 'lib/rack/multipart/parser.rb', line 127
def each
@mime_parts.each { |part| yield part }
end
|
#on_mime_body(mime_index, content) ⇒ Object
146
147
148
|
# File 'lib/rack/multipart/parser.rb', line 146
def on_mime_body mime_index, content
@mime_parts[mime_index].body << content
end
|
#on_mime_finish(mime_index) ⇒ Object
150
151
|
# File 'lib/rack/multipart/parser.rb', line 150
def on_mime_finish mime_index
end
|
#on_mime_head(mime_index, head, filename, content_type, name) ⇒ Object
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# File 'lib/rack/multipart/parser.rb', line 131
def on_mime_head mime_index, head, filename, content_type, name
if filename
body = @tempfile.call(filename, content_type)
body.binmode if body.respond_to?(:binmode)
klass = TempfilePart
@open_files += 1
else
body = ''.force_encoding(Encoding::ASCII_8BIT)
klass = BufferPart
end
@mime_parts[mime_index] = klass.new(body, head, filename, content_type, name)
check_open_files
end
|