A ruby library to create multipart bodies. At the moment it is only creating form-data but this needs to be expanded.
Switch branches/tags
Nothing to show
Latest commit b51b0e1 Jun 6, 2011 @scsmith scsmith Merge pull request #3 from spk/fix_test_ruby1.8.7
Fix test with ruby 1.8.7
Failed to load latest commit information.
lib Fix test with ruby 1.8.7 May 21, 2011



The multipart body is an attempt to bring consistency to multipart content in Ruby. When developing CloudMailin we struggled to find a gem to help us create multipart bodies. Many different libraries had implemented multipart bodies through their own implementation but non could be used independently.

The aim of MultipartBody is to ensure consistency when creating (and parsing in future) multipart content


require 'multipart_body'

# From a hash
multipart = MultipartBody.new(:field1 => 'content', :field2 => 'something else')

# With parts
part = Part.new(:name => 'name', :body => 'body', :filename => 'f.txt', :content_type => 'text/plain', :encoding => :base64)

# or to specify just the name, body and optional filename
part = Part.new('name', 'content', 'file.txt')
multipart = MultipartBody.new([part])

# Output
part.to_s #=> The part with headers and content
multipart.to_s #=> The full list of parts joined by boundaries


  • Implement Parsing
  • Add different encodings
  • Add the ability to automatically add files and have the filename set


Copyright 2010 by Steve Smith (CloudMailin) and is released under the MIT license.