class Salesfly::FileParam

Formats the contents of a file or string for inclusion with a multipart form post

Attributes

content[RW]
filename[RW]
name[RW]

Public Class Methods

new(filename) click to toggle source
# File lib/salesfly/multipart.rb, line 64
def initialize(filename)
  @name = File.basename(filename)
  @filename = filename
  @content = File.read(filename)
end

Public Instance Methods

to_multipart() click to toggle source
# File lib/salesfly/multipart.rb, line 70
def to_multipart
  # If we can tell the possible mime-type from the filename, use the
  # first in the list; otherwise, use "application/octet-stream"
  mime_type = MIME::Types.type_for(filename)[0] || MIME::Types["application/octet-stream"][0]
  return "Content-Disposition: form-data; name=\"#{CGI::escape(name)}\"; filename=\"#{ filename }\"\r\n" +
  "Content-Type: #{ mime_type.simplified }\r\n\r\n#{ content }\r\n"
end