Sha256: 115eba103f966c82da321faee279e40a3ae1baa6c28f6f22dabca356750eb549

Contents?: true

Size: 969 Bytes

Versions: 1

Compression:

Stored size: 969 Bytes

Contents

# frozen_string_literals: true

module Jobshop
  module  Mailroom
    class RFQHandler < BaseHandler
      self.archive_prefix = "rfqs/processed"

      def process
        new_rfq = organization.rfqs.create!({
          requested_by: customer_contact,
          customer: customer,
          from: from,
          subject: subject,
          content: content
        })

        if customer_contact
          RFQResponderMailer.with(customer_contact: customer_contact)
            .verified_contact.deliver_later
        end
        # TODO: Send rfq to quoting queue with low priority if customer.nil?
        return new_rfq
      end

      private def from_domain
        [ "reverse(lower(email_from_domain)) LIKE ?",
          "#{from.domain.reverse.downcase}%" ]
      end

      private def parse_body(message)
        if message.multipart?
          message.parts[0].decode_body
        else
          message.decode_body
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jobshop-0.0.167 lib/jobshop/mailroom/rfq_handler.rb