Changelog

Ruby Icon changelog.com

Mailman: If Sinatra worked at the post office

logged by @logbot 2010-07-28T15:07:18Z permalink #ruby

As part of the Ruby Summer of Code, Jonathan Rudenberg has released Mailman. Mailman aims to provide the classy Sinatra declarative style for handling incoming mail:

Mailman is a Ruby gem so it’s easy to install:

sudo gem install mailman

Then you’re ready to start handling some mail:

require 'mailman'

Mailman.config.maildir = '~/Maildir'

Mailman::Application.run do
  to 'ticket-%id%@vipsupport.com' do

    Ticket.find(params[:id]).add_reply(message)
  end

  from('%user%@example.org').subject(/RE: (.*)/) do
    params[:user] #=> 'chunkybacon'
    # it is an indifferent hash, so you can use strings and symbols
    # interchangeably as keys
    params['captures'][0] #=> 'A very important message about pigs'
  end
end

Simple and classy.

The comments on Jonathan’s original blog post suggested he change the name to something more Googleable. Jonathan, if you’re open to suggestions, might we suggest KarlMalone?

[Source on GitHub]

0:00 / 0:00