Class methods responsible for registering mailers, configuring settings and delivering messages.
Delivers a mailer message email with the given attributes.
@param [Symbol] mailer_name
The name of the mailer.
@param [Symbol] message_name
The name of the message to deliver.
@param attributes
The parameters to pass to the mailer.
@example
deliver(:sample, :birthday, "Joey", 21) deliver(:example, :message, "John")
@api public
# File lib/padrino-mailer/helpers.rb, line 106 def deliver(mailer_name, message_name, *attributes) message = registered_mailers[mailer_name].messages[message_name].call(*attributes) message.delivery_method(*delivery_settings) message.deliver end
Delivers an email with the given mail attributes with specified and default settings.
@param [Hash] mail_attributes
The attributes for this message (to, from, subject, cc, bcc, body, etc).
@param [Proc] block
The block mail attributes for this message.
@example
MyApp.email(:to => 'to@ma.il', :from => 'from@ma.il', :subject => 'Welcome!', :body => 'Welcome Here!')
# or if you prefer blocks
MyApp.email do
to @user.email
from "awesomeness@example.com"
subject "Welcome to Awesomeness!"
body 'path/to/my/template', :locals => { :a => a, :b => b }
end
@api public
# File lib/padrino-mailer/helpers.rb, line 132 def email(mail_attributes={}, &block) message = _padrino_mailer::Message.new(self) message.delivery_method(*delivery_settings) message.instance_eval(&block) if block_given? mail_attributes.reverse_merge(mailer_defaults) if respond_to?(:mailer_defaults) mail_attributes.each_pair { |k, v| message.method(k).call(v) } message.deliver end
# File lib/padrino-mailer/helpers.rb, line 55 def inherited(subclass) # @private @_registered_mailers ||= {} super(subclass) end
Defines a mailer object allowing the definition of various email messages that can be delivered.
@param [Symbol] name
The name of the mailer to initialize.
@example
mailer :sample do
email :birthday do |name, age|
subject 'Happy Birthday!'
to 'john@fake.com'
from 'noreply@birthday.com'
locals :name => name, :age => age
render 'sample/birthday'
end
end
@api public
# File lib/padrino-mailer/helpers.rb, line 84 def mailer(name, &block) mailer = Padrino::Mailer::Base.new(self, name, &block) mailer.delivery_settings = delivery_settings registered_mailers[name] = mailer mailer end
Generated with the Darkfish Rdoc Generator 2.