When it comes to complex deployment strategies with Ruby applications, capistrano has always been the tool of choice. This usually involves creating a Capfile which sits alongside your application. Matteo Latini let us know about a library by Nebulab called Pulsar. Pulsar is a deploy and configuration manager which allows you to run Capistrano tasks for your application from a separate repository where all your deployment configurations are stored. With Pulsar you can deploy without having the application you’re trying to deploy on your local machine.

When you’re building a large Rails application you might look for additional ways to keep your code organized. Maybe to decouple your domain logic, your form logic, and persistence. Datamappify, by Fred Wu, solves two these two problems: the coupling between domain logic and data persistence, and the coupling between forms and models. This is overkill if you have a simple application, but as things get more complex, splitting things into components will keep you from having a bloated User model.

Daniel Szmulewicz emailed us this weekend to let us know about Mmailer, a Ruby gem for sending personalized bulk email, like a newsletter, through regular SMTP providers like Gmail. Although Gmail and similar providers use various throttling strategies, Mmailer provides you the functionality you need to stay within those limits. You can set things like the amount of time between sending emails, or how long it should wait after sending a bunch of emails.

If you’re an RSpec user, you may be interested to know that the RSpec team decided that RSpec 2.14 which was released last week will be the last new feature release for the project, and the team will now be working towards a 3.0 release. Myron Marston wrote up a great post covering all that is being added, and even a bunch about what will be removed, like Ruby 1.8.6 and 1.9.1 support, the its and have(x).items syntax will be moved into external gems, in addition to other deprecations which will be removed. New stuff in this version may include Zero Monkey Patching Mode, Test double interface verification, fully composable matchers, etc.

The folks at Dockyard released the destroyed_at gem today. With a simple migration to add a destroyed_at date to your record and a by mixing in DestroyedAt with your model class you can now safely destroy records as you usually would. The destroyed_at data will be set and the record will disappear from the default all scope of that model. Just call #restore on the instance, and poof, voilà. It’s back.

Back in episode 363 we covered the first Testing Tuesday on the codeship.io blog, and since then they’ve been creating some really valuable screencasts covering a really nice variety of testing topics and tools, from Test Driven Development to Behavior Driven Development, stubbing and mocking, and a few good RSpec Screencasts.