class As2::MimeGenerator::Part
Public Class Methods
new()
click to toggle source
# File lib/as2/mime_generator.rb, line 4 def initialize @parts = [] @body = "" @headers = {} end
Public Instance Methods
[](name)
click to toggle source
# File lib/as2/mime_generator.rb, line 10 def [](name) @headers[name] end
[]=(name, value)
click to toggle source
# File lib/as2/mime_generator.rb, line 14 def []=(name, value) @headers[name] = value end
add_part(part)
click to toggle source
# File lib/as2/mime_generator.rb, line 29 def add_part(part) gen_id unless @id @parts << part @body = nil end
body()
click to toggle source
# File lib/as2/mime_generator.rb, line 18 def body @body end
body=(body)
click to toggle source
# File lib/as2/mime_generator.rb, line 22 def body=(body) unless @parts.empty? raise "Cannot add plain budy to multipart" end @body = body end
multipart?()
click to toggle source
# File lib/as2/mime_generator.rb, line 35 def multipart? ! @parts.empty? end
write(io)
click to toggle source
# File lib/as2/mime_generator.rb, line 39 def write(io) @headers.each do |name, value| if multipart? && name =~ /content-type/i io.print "#{name}: #{value}; \r\n" io.print "\tboundary=\"----=_Part_#{@id}\"\r\n" else io.print "#{name}: #{value}\r\n" end end io.print "\r\n" if @parts.empty? io.print @body, "\r\n" else @parts.each do|p| io.print "------=_Part_#{@id}\r\n" p.write(io) end io.print "------=_Part_#{@id}--\r\n" end io.print "\r\n" end
Private Instance Methods
gen_id()
click to toggle source
# File lib/as2/mime_generator.rb, line 64 def gen_id @@counter += 1 @id = "#{@@counter}_#{Time.now.strftime('%Y%m%d%H%M%S%L')}" end