Module: Evil::Client::Formatter::Part

Extended by:
Part
Included in:
Part
Defined in:
lib/evil/client/formatter/part.rb

Overview

Utility module to format source as a part of multipart body

Instance Method Summary collapse

Instance Method Details

#call(source, number) ⇒ String

Formats nested hash as a string

Parameters:

  • source (IO, #to_s)
  • number (Integer)

Returns:

  • (String)


15
16
17
18
19
20
21
22
23
24
25
# File 'lib/evil/client/formatter/part.rb', line 15

def call(source, number)
  filename = extract_filename(source)
  name     = extract_name(filename, number)
  path     = Pathname.new(filename) if filename
  content  = extract_content(source)
  mime     = extract_mime(path)
  charset  = extract_charset(content)
  headers  = [disposition(name, filename), type(mime, charset), nil]

  [*headers, content].join("\r\n")
end