Rack Middleware as a General Purpose Abstraction

A session at MountainWest RubyConf 2012

Thursday 15th March, 2012

1:30pm to 2:00pm (MST)

We've all seen monolithic Rails models: pages and pages of methods all dumped into one class. Inevitably, someone starts moving things around just to feel better about the line count, but this doesn't make any real difference to the overall structure of the code. How can we reify actions on an object and simplify our classes?

In this talk I'll speak about using the concept of "middleware" (in the way Rack uses "middleware") as a general purpose abstraction for improving the organization, testability, and maintainability of complex pieces of code. I'll talk about my first hand experience of using middleware to power Vagrant (http://vagrantup.com), and we'll use these ideas to simplify an existing application.

About the speaker

This person is speaking at this event.
Mitchell Hashimoto

Founder of @HashiCorp. Creator of Vagrant, Packer, Serf, Consul, Terraform, Vault, Nomad, and Otto. Lover of open source. Automation-obsessed developer. bio from Twitter

Coverage of this session

Sign in to add slides, notes or videos to this session

Tell your friends!


Time 1:30pm2:00pm MST

Date Thu 15th March 2012

Short URL


View the schedule


See something wrong?

Report an issue with this session