Using Ruby’s succ Method to Get Around API Restrictions

Jason Melton
2 min readMar 4, 2020

--

I’m tasked with pulling movie info from an API, but the API has a restriction: it only allows one movie query at a time. How can I efficiently put together a movie database while only grabbing one movie at a time?

One possible solution: .succ

Ruby’s .succ method can be attached to a string to increment the last character by one (either alphabetically or numerically). That is, it converts a string into the successive string.

Some examples:

“1”.succ #=> “2”/ “34390909”.succ #=> “34390910”/ “abc”.succ #=> “abd”

Check out the Ruby APIdock for more examples.

So how does this help me?

The API’s query URLs end in a numeric values corresponding to their order of entry in the database (fortunately). In the code below, I use .succ to grab 500 movies queries from the API:

As you can see, the while loop counts to 500 adding each successive URL to an array of URLs. After some iteration, Net::HTTP, and finesse, I have an array of hashes containing the necessary information for my movie database.

Thanks for reading my blog. If you don’t like it, here’s a suggestion: you should.succ it:

jasons_succy_blog = “https://medium.com/@jasonmelton_/using-rubys-succ-method-to-get-around-api-restrictions-1cdb47829d62”

jasons_succy_blog.succ

--

--

Jason Melton
Jason Melton

No responses yet