Sha256: 718cb1bc4bfcd99d11c35028b2fc4d810b1bc4ad05e9e6218fa946acf00c09fe

Contents?: true

Size: 1.96 KB

Versions: 1

Compression:

Stored size: 1.96 KB

Contents

module Mailboxer
  module Models
    module Messageable

      def send_message_mult_attach(recipients, msg_body, subject, sanitize_text=true, attachments=nil, message_timestamp = Time.now)
        convo = ::Mailboxer::ConversationBuilder.new({
          :subject => subject,
          :created_at => message_timestamp,
          :updated_at => message_timestamp
        }).build

        message = ::Mailboxer::MessageBuilder.new({
          :sender => self,
          :conversation => convo,
          :recipients => recipients,
          :body => msg_body,
          :subject => subject,
          :created_at => message_timestamp,
          :updated_at => message_timestamp
        }).build

        Mailboxer::Message.class_eval do
          has_many :message_attachments
          attr_accessible :message_attachments
        end

        if attachments.present?
          attachments.each do |m|
            message.message_attachments << MessageAttachment.new(file: m[:file])
          end
        end
        message.deliver false, sanitize_text
      end

      def reply_to_convo_mult_attach(convo, convo_body, subject, sanitize_text=true, attachment=nil)
        if should_untrash && mailbox.is_trashed?(conversation)
          mailbox.receipts_for(conversation).untrash
          mailbox.receipts_for(conversation).mark_as_not_deleted
        end
        reply_mult_attach(conversation, conversation.last_message.recipients, reply_body, subject, sanitize_text, attachment)
      end

      def reply_mult_attach(conversation, recipients, reply_body, subject=nil, sanitize_text=true, attachment=nil)
        subject ||= "#{conversation.subject}"
        response = Mailboxer::MessageBuilder.new({
          :sender => self,
          :conversation => recipients,
          :body => reply_body,
          :subject => subject
        }).build
        
        #TODO: handle attachments

        response.recipients.delete(self)
        response.deliver true, sanitize_text
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mailboxer_multi_attach-0.0.2 app/models/messageable.rb