Hands by Incase is licensed under CC BY 2.0

Avoid parsing Rails controller params by using Metal

By Daniel Morrison

While looking at a controller today, I came to the conclusion it’s better to use ActionController:API instead of ActionController::Metal. Here’s why.

On Documentation-Driven Development

By Steve Richert

I love designing and developing APIs. In building a great API, the design and development processes demand equal attention. The problem is that popular development approaches don’t emphasize the design process. You may be familiar with the concepts of “test-driven development” and “behavior-driven development”, but let’s talk about the lesser-known concept of “documentation-driven development”.

Public Methods != Public API

By Steve Richert

I love designing and building APIs. Usually those APIs are in the form of REST web services. A lot of care goes into the interface of a web service because it’s how your application is presented to the outside world. But what about the interfaces of your internal code?

Building Awesome Rails APIs: Part 1

By Steve Richert

After teaching an Advanced Rails class last week, I realized that we use a lot of patterns internally to build great APIs in Rails that many people don’t know about. We didn’t invent most of them, but we use them with great success, so we need to start sharing.

Test Your API with Cucumber and json_spec

By Steve Richert

At Collective Idea, we do a lot of work with RESTful JSON APIs. They can be a joy to build but a pain to test. We’re currently working on a project that’s all API all the time, so we developed some reusable Cucumber steps for testing. Now, we’ve abstracted all that goodness out into its own gem… json_spec.