lib/gmail.rb in alexmchale-gmail-client-0.0.1 vs lib/gmail.rb in alexmchale-gmail-client-0.1.0
- old
+ new
@@ -22,30 +22,28 @@
@attachments << { :name => name, :data => data, :type => type }
self
end
- def add_file(filename, content_type)
- add_data File.basename(File.expand_path(filename)), File.read(filename), content_type
- end
-
- def add_jpeg(filename, data = nil)
- name = File.basename filename
+ def add_file(filename, content_type, data = nil)
+ name = File.basename File.expand_path filename
data ||= File.read(filename)
- type = 'image/jpeg'
-
- add_data name, data, type
+ add_data name, data, content_type
end
+ def add_jpeg(filename, data = nil); add_file filename, 'image/jpeg', data; end
+ def add_png(filename, data = nil); add_file filename, 'image/png', data; end
+
def compose
boundary = rand(2**128).to_s(16)
if @attachments.length > 0
attachments = @attachments.map do |attachment|
"--#{boundary}\r\n" +
"Content-Type: #{attachment[:type]}; name=\"#{attachment[:name]}\"\r\n" +
"Content-Disposition: attachment; filename=\"#{attachment[:name]}\"\r\n" +
"Content-Transfer-Encoding: base64\r\n" +
+ "Content-ID: <#{attachment[:name]}>\r\n" +
"\r\n" +
Base64.encode64(attachment[:data])
end.compact.join
"Date: #{Time.now.to_s}\r\n" +