---
title: "#350: Building APIs with Rails and GraphQL"
publication: "Ruby Weekly"
issue: 350
published_at: "2017-05-25"
canonical_url: "https://rubyweekly.com/issues/350"
---

#350: Building APIs with Rails and GraphQL

This week's Ruby and Rails news[Read this e-mail on the Web](http://rubyweekly.com/issues/350)

Ruby WeeklyIssue 350 — May 25, 2017

John Backus[5 Pry Features Every Ruby Developer Should Know](https://blog.cognitohq.com/five-pry-features-every-ruby-developer-should-know/)Pry is a powerful debugging tool/IRB alternative but if you haven’t made it past `binding.pry`, these tips should prove beneficial.


Chris Salzberg[The Ruby Module Builder Pattern](http://dejimata.com/2017/5/20/the-ruby-module-builder-pattern)The Module Builder Pattern is a metaprogramming technique that is used by many popular gems and is explained here in excellent detail.


John Backus[How to Write Better Code Using Mutation Testing](https://www.youtube.com/watch?v=uB7m9T7ymn8)A technique for not only writing better code but also better _tests_. This is a good ‘from scratch’ intro to some handy techniques. _36 minutes._


UpgradeRailsSponsored[Founders/CTOs: We upgrade Rails so that your team doesn't have to.](https://www.upgraderails.com/)Rails 5.1 is here! Is your app falling behind? If you're dreading the upgrade, we can help. Let our expert team upgrade your Rails app so that you can focus on features, not maintenance. Talk to us to learn how.

[![UpgradeRails\](https://copm.s3.amazonaws.com/82dfd256.png)](https://www.upgraderails.com/?utm_source=rubyweekly&utm_medium=email)


GoRails[Migrating From jQuery to Vanilla JS [video\]](https://gorails.com/episodes/migrating-from-jquery-to-vanilla-javascript)Rails 5.1 moved away from using jQuery by default, but what does it take to move away to vanilla JS entirely? A 17 minute guide.


SitePoint[Building APIs with Rails and GraphQL](https://www.sitepoint.com/building-apis-ruby-rails-graphql/)A step-by-step look at creating a Rails API from scratch using GraphQL, an alternative to REST where clients send specially formatted queries for the data they want.


Samuel Giddins[Bundler 1.15 Released: A Much Faster Bundler](http://bundler.io/blog/2017/05/19/bundler-1-15-bundle-oh-so-fast.html)Up to a half a second faster than before, on every `bundle exec`, `Bundler.require`, etc. 4 new commands too: info, issue, add, and pristine.


Justin Gordon[Webpacker Lite (or Why Did We Fork Webpacker?)](https://medium.com/@railsonmaui/ee3305688d66)[WebPacker Lite](https://github.com/shakacode/webpacker_lite) only provides asset helpers for working with ‘webpacked’ assets. This post explains why React on Rails prefers this approach.


Sergey Pchelintsev[Squasher: Compress Old Migrations Down for Efficiency](https://github.com/jalkoby/squasher)If you’ve got a project with _lots_ of migrations, boiling them down will help future migrations progress more quickly.


Jobs

- [Ruby on Rails Full Stack Developer • Remote • Full or Part-time](https://www.smartrecruiters.com/HarleyTherapy/116035029-ruby-on-rails-full-stack-developer-remote-based-full-or-part-time?utm_source=rubyweekly&utm_medium=email)Opportunity for a senior full-stack Ruby on Rails developer to build a first-rate online marketplace & practice management web app Harley Therapy Platform
- [Full Stack Ruby/Rails Developer (Remote within the UK, £45-60k)](https://mysteryapplicant.workable.com/j/86C67F706B?utm_source=rubyweekly&utm_medium=email)Applying for jobs sucks. Join us and work with some of the world's largest employers to make things better. Mystery Applicant
- [Software Engineer - Mid or Senior Level](https://deliveroo.workable.com/j/626641DD93?utm_source=rubyweekly&utm_medium=email)We're looking for Software Engineers to join our London HQ to help build products that revolutionise the logistics and delivery industries. Deliveroo

In brief

- [Rubygems.org Now Using Elasticsearch for Search Feature](https://hackernoon.com/you-know-for-search-de62b6126a86?utm_source=rubyweekly&utm_medium=email) news 
Searching for gems is now much faster and more robust. Aditya Prakash
- [Rails 5.1 Adds Support for Limits in Batch Processing](https://blog.bigbinary.com/2017/05/23/rails-5-1-adds-support-for-limit-in-batch-processing.html?utm_source=rubyweekly&utm_medium=email) news 
It’s now possible to limit what #find_each returns. Big Binary
- [Webpacker 2.0 Released with Elm Support and Bug Fixes](https://github.com/rails/webpacker/?utm_source=rubyweekly&utm_medium=email) news Ruby on Rails
- [Protect Your Applications. Frustrate attackers.](https://www.sqreen.io/?utm_medium=email&utm_source=external&utm_campaign=rubyweekly&utm_content=20170525) 
Detect attackers before they hit. Stop intrusions and remediate easily with stack traces. SqreenSponsored
- [New Method Kernel#yield_self Coming in Ruby 2.5](https://bogdanvlviv.github.io/posts/ruby/new-method-kernel-yield_self-since-ruby-2_5_0.html?utm_source=rubyweekly&utm_medium=email) tutorial 
yield_self is similar to tap but returns the block return value instead of self. Bogdan
- [Integrating DynamoDB with a Rails App](https://blog.faodailtechnology.com/step-by-step-guide-to-using-dynamodb-with-rails-application-i-a676cb9ba4df?utm_source=rubyweekly&utm_medium=email) tutorial Faodail Technology
- [Using Postgres JSON Columns from Rails](https://medium.com/casper-crafted/postgres-json-column-rails-casper-8795fbece133?utm_source=rubyweekly&utm_medium=email) tutorial 
How Casper used the JSON column to track shipments and grow with their analytics needs. Casper
- [Solving A Density Map in Three Ways](http://www.visuality.pl/posts/cs-lessons-003-density-map-three-ways?utm_source=rubyweekly&utm_medium=email) tutorial 
If you like programming problems, this is a good one with several example implementations. Visuality
- [Helix: Build Native Ruby Extensions Without Fear](https://www.youtube.com/watch?v=nq1nNx8-fNQ) video 
Helix allows you to build native Ruby extensions using Rust from specs to deployment. chancancode
- [Leaving Clojure for Ruby](https://blog.appcanary.com/2017/hard-isnt-simple-ruby-clojure.html?utm_source=rubyweekly&utm_medium=email) story Phillip Mendonça-Vieira
- [Rails Speed with Ruby 2.4.0 and Current Discourse](http://engineering.appfolio.com/appfolio-engineering/2017/5/22/rails-speed-with-ruby-240-and-discourse-180?utm_source=rubyweekly&utm_medium=email) opinion Noah Gibbs
- [Besides GC, Has Ruby 2.3 Helped Rails Performance?](https://appfolio-engineering.squarespace.com/appfolio-engineering/2017/5/12/has-ruby-helped-rails-performance-other-than-garbage-collection?utm_source=rubyweekly&utm_medium=email) opinion 
Another post on Ruby benchmarking, this time testing Rails without any garbage collection. Noah Gibbs
- [$20 Free Credit on a new account.](https://welcome.linode.com/ruby-weekly/?utm_source=cooperpress&utm_medium=sponsored&utm_term=ruby&utm_campaign=ruby-weekly) 
Linux cloud hosting starting at 1GB of RAM for $5/mo. Use promo code RUBY20 and get $20 credit. linodeSponsored
- [Rails Inflector Lookup: See Inflection Methods for Given Strings](http://inflector.me/?utm_source=rubyweekly&utm_medium=email) tools Rob Cameron
- [19 Gems One Dev Team Finds Amazing](https://blog.rubyroidlabs.com/2017/04/19-ruby-on-rails-gems/?utm_source=rubyweekly&utm_medium=email) tools 
For anyone who likes list posts for finding new things. Rubyroid Labs Team
- [InSpec: An Auditing/Testing Framework for Infrastructure](https://github.com/chef/inspec?utm_source=rubyweekly&utm_medium=email) code 
Run tests on your infrastructure to check compliance of servers to policy. Chef Software
- [Red Arrow: Ruby Bindings for Apache Arrow](https://github.com/red-data-tools/red-arrow?utm_source=rubyweekly&utm_medium=email) code 
Apache Arrow is an in-memory, columnar datastore used by many for analytics. Red Data Tools
- [Semian: A Resiliency Toolkit to Fail on Slow or Unresponsive External Services](https://github.com/Shopify/semian?utm_source=rubyweekly&utm_medium=email) code Shopify
- [Catch Errors Before Your Users Do 💻](https://rollbar.com/rubyweekly?utm_source=rubyweekly&utm_medium=email) ROLLBARSponsored

Curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict), and published by [Cooperpress](https://cooperpress.com/).
Send feedback by simply replying to this mail.
Want to sponsor an issue? See our [media kit.](https://cooperpress.com/mediakit)
Want to post a job? Email us or [use our self-serve system.](https://booking.cooperpress.com/jobs)

[Unsubscribe](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/350)

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
