lib/railgun/attachment.rb in mailgun-ruby-1.1.4 vs lib/railgun/attachment.rb in mailgun-ruby-1.1.5
- old
+ new
@@ -1,21 +1,56 @@
module Railgun
class Attachment < StringIO
- attr_reader :source_filename, :content_type, :path
+ attr_reader :filename, :content_type, :path,
+ :original_filename, :overwritten_filename
def initialize(attachment, *args)
@path = ''
- if args.detect { |opt| opt[:inline] }
- basename = @source_filename = attachment.cid
+ @inline = args.detect { |opt| opt[:inline] }
+
+ if @inline
+ @filename = attachment.cid
else
- basename = @source_filename = attachment.filename
+ @filename = attachment.filename
end
+ @original_filename = @filename
+
+ if args.detect { |opt| opt[:filename] }
+ @filename = opt[:filename]
+ end
+
+ @overwritten_filename = @filename
+
@content_type = attachment.content_type.split(';')[0]
super attachment.body.decoded
+ end
+
+ def inline?
+ @inline
+ end
+
+ def is_original_filename
+ @original_filename == @overwritten_filename
+ end
+
+ def source_filename
+ @filename
+ end
+
+ def attach_to_message!(mb)
+ if mb.nil?
+ nil
+ end
+
+ if inline?
+ mb.add_inline_image self, @filename
+ else
+ mb.add_attachment self, @filename
+ end
end
end
end