One problem that crops up as a Ruby on Rails application evolves is that new attributes are added to existing models, sometimes with new validation rules. For example, you may have a Customer model with name, address, email and phone number, then realize you want to add an attribute to store email marketing preferences many
Continue reading Validating existing model records in Rails
I ran into a problem this morning trying to test a Rails controller with an XML document that needed to made in an HTTP POST request. It turns out that it’s actually pretty easy using Rails IntegrationTest and a couple small tweaks:
class MyXmlPostClass < ActionController::IntegrationTest
test “should successfully post XML” do
Continue reading Testing RESTful Rails controllers by POSTing XML
Six months ago, I decided to learn Ruby and the Ruby on Rails framework. It was a whim. I dove in feet-first without spending too much time focusing on studying the language. To force myself to solve real problems, I decided to write a real application. Now, with six months of knowledge, here are the things I had known when I
Continue reading Five Things I Wish I’d Known About Ruby & Rails
Service oriented architecture (SOA) is going to save us all. We all know the drill: Faster time-to-market. Lower total cost of ownership. Loose coupling makes integrating or re-wiring existing capabilities faster and adding new features easier.
Except that in most large companies, just doing SOA doesn’t do any of these things. In reality, sub-optimal time-to-market and
Continue reading The Promise of SOA: Flexible IT and Solving the Real Problem
Joel Spolsky recently wrote an article about “The Duct Tape Programmer” in which he espouses the benefits of a pragmatic approach to creating (and thus shipping) software. … What interested me about his post … was how approaches to “shipping software” can sometimes differ in large enterprises when compared to shipping commercial software to end-users or to producing applications in small- or medium-sized
Continue reading Creating Enterprise Applications vs. Shipping Consumer Software: The Case for Simplicity