Method: CloudInit::Userdata::MimeMultipart.parse_formatters

Defined in:
lib/cloudinit_userdata/formats/mime_multipart.rb

.parse_formatters(raw) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/cloudinit_userdata/formats/mime_multipart.rb', line 33

def self.parse_formatters(raw)
  Mail.new(raw).parts.map do |part|
    mime = part.mime_type
    formatter = Userdata.formats.find { |f| f.mimetypes.include?(mime) }
    raise InvalidFormat, "Userdata format for mime type #{mime} not found" unless formatter
    formatter.new(part.body.raw_source)
  end
end