How to make Rails, Grape and Her work together (with caching!)

Tymon Tobolski

March 24, 2014 | rails api cache grape faraday http her

If you follow our series on building APIs with Grape and Rails, you already know how to create powerful versioned APIs in a simple and straightforward way as well as improve Grape’s abilities with a number of useful tricks.

Read more

Useful tricks & tips for Grape and Rails APIs

Kamil Nicieja

February 11, 2014 | rails api grape kaminari roar

In our first post of this series, we wrote about how to build a simple versioned API with Grape and Rails. If you didn't get a chance to read our introduction to this tool or haven't heard of it yet, Grape is a REST-based framework for building APIs in Ruby that was designed to run on Rack as well as to fit into existing Rails or Sinatra applications.

Read more

Introduction to building APIs with Grape

Tymon Tobolski

January 15, 2014 | rails api cache spa http

As we at Monterail are no longer just a Rails shop, our projects have grown in size presenting us with an array of new challenges. All the Single Page Applications we code need reliable APIs versioning to work properly. Some of the bigger apps that we manage, built with Service Oriented Architecture pattern, demand a scalable way for our software to communicate between various components.

Read more

Robust dashboard application with Faye

There’s a dashboard in one of our applications that shows data from various external services. The more data we were adding to this dashboard, the worse its performance and user experience was getting until the site eventually became unusable. It got to the point where its user had to wait 10 seconds or even more for the content to show up. Unfortunately, caching didn’t help much.

Here’s the story of what we did to reduce the load time.

Read more

Outbound API rate limits: the nginx way

Bartosz Pietrzak

July 26, 2011 | rails nginx api calls throttling web servers api api rates limits

Implementing external API rate limits can be painful. There are some solutions that aim at this problem - let's take Slow Web for example - but things tend to complicate when we start using background jobs, or even oldschool cron-rake setup. Slow web takes care of one environment at a time, not to mention that it relies on Net::HTTP so you can forget using more powerful stuff like Typhoeus.

Read more