Like many companies, Rails Machine has a chat bot sitting in Campfire with us and we use it daily to help us with many aspects of our work. Until recently we used Hubot. Hubot has worked flawlessly for us, but as a Ruby shop it was a constant source of friction to switch to CoffeeScript whenever we wanted to extend our bot.
When we first heard about Lita last year we were immediately intrigued and in March we decided to make the jump. Over the course of about 6 weeks we were able to port all of the functionality we had in Hubot and add some new features as well. Lita has been a joy to work with and Jimmy Cuadra should be commended on putting together such a great project.
We also believe that software should be opinionated and with Lita we didn’t have a shortage of opinions. Over the course of putting together the Rails Machine chat bot we extended Lita to meet our needs and to reduce the amount of boilerplate that we had to write to add new functionality. Since we found these extensions useful we figured someone else might as well. That’s why today we are announcing Lita::Ext: A collection of Lita extensions.
Rails developers will find many of the conventions familiar: environment
specific settings go in
config/environments, initializers go in
config/initializers, custom handlers go in
app/handlers, and helper
libraries go in
lib. We also added convenience methods to access a handler’s
configuration settings and the Lita logger.
We hope that you will find these extensions as useful as we do. We plan to submit pull requests to Lita for some of this functionality where it makes sense.