Module: MailMaleMail

Defined in:
lib/mail_male_mail.rb,
lib/mail_male_mail/mailgun.rb,
lib/mail_male_mail/version.rb,
lib/mail_male_mail/sendgrid.rb,
lib/mail_male_mail/configuration.rb,
lib/mail_male_mail/postal_service/mailer.rb,
lib/mail_male_mail/postal_service/delivery_method.rb

Defined Under Namespace

Modules: ClassMethods, Mailgun, PostalService, Sendgrid Classes: Configuration, MailMaleMailRailtie

Constant Summary collapse

PROVIDERS =
%w(sendgrid mailgun postal_service)
VERSION =
"0.0.6"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/mail_male_mail.rb', line 25

def self.included(base)
  base.extend(ClassMethods)
  base.class_eval do
    Configuration.load
    include(Sendgrid)
    include(Mailgun)
    include(PostalService::Mailer)
    class << self
      attr_accessor :mmm_provider
    end
    attr_accessor :mmm_category, :mmm_variables
    alias_method_chain :mail, :mmm_headers

    mailman('default')
  end
end

Instance Method Details

#mail_male_mail_category(category) ⇒ Object



48
49
50
# File 'lib/mail_male_mail.rb', line 48

def mail_male_mail_category(category)
  self.mmm_category = category
end

#mail_male_mail_variables(variables) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/mail_male_mail.rb', line 52

def mail_male_mail_variables(variables)
  if variables.is_a?(Hash)
    self.mmm_variables = variables
  else
    raise TypeError, "variables must be a Hash"
  end
end

#mail_with_mmm_headers(headers = {}, &block) ⇒ Object



42
43
44
45
46
# File 'lib/mail_male_mail.rb', line 42

def mail_with_mmm_headers(headers={}, &block)
  mail_without_mmm_headers(headers, &block).tap do |m|
    send("write_#{self.class.mmm_provider}_headers") if self.class.mmm_provider
  end
end