. blog —

By Rhizome

I’ve just released the newest version of RhizMail, the email library we use at Rhizome. Most of the changes are minor, but one bigger change is making it easier to parameterize a child of SimpleTemplateMessage.

For example, You can still create a SimpleTemplateMessage directly:

msg = RhizMail::SimpleTemplateMessage.new(
:to_address => 'john.doe@email.com',
:from_address => 'webmaster@website.com',
:template_file => '/Users/francis/Desktop/template.txt'
)
msg.substitute( 'email', 'john.doe@email.com' )
msg.substitute( 'password', 'p4ssw0rd' )
msg.deliver

But you can also create a child, parameterizing it with class methods:

class IntroEmail < RhizMail::SimpleTemplateMessage
from_address 'webmaster@website.com'
template '/Users/francis/Desktop/template.txt'
substitute 'email', Proc.new { |msg| msg.user.email }
substitute 'password', Proc.new { |msg| msg.user.password }
attr_reader :user
def initialize( user )
@user = user
super( :to_address => user.email )
end
end
User = Struct.new( :email, :password )
u = User.new( 'john.doe@email.com', 'p4ssw0rd' )
email = IntroEmail.new u

— Share this Article —

Comments