Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

vistahigherlearning / logstash   deb

Repository URL to install this package:

/ opt / logstash / vendor / bundle / jruby / 1.9 / gems / mail-2.5.3 / lib / mail / check_delivery_params.rb

module Mail

  module CheckDeliveryParams

    def self.included(klass)
      klass.class_eval do

        def check_params(mail)
          envelope_from = mail.return_path || mail.sender || mail.from_addrs.first
          if envelope_from.blank?
            raise ArgumentError.new('A sender (Return-Path, Sender or From) required to send a message')
          end

          destinations ||= mail.destinations if mail.respond_to?(:destinations) && mail.destinations
          if destinations.blank?
            raise ArgumentError.new('At least one recipient (To, Cc or Bcc) is required to send a message')
          end

          message ||= mail.encoded if mail.respond_to?(:encoded)
          if message.blank?
            raise ArgumentError.new('A encoded content is required to send a message')
          end

          [envelope_from, destinations, message]
        end

      end
    end
  end
end