---
title: "This week's Ruby news, issue 337"
publication: "Ruby Weekly"
issue: 337
published_at: "2017-02-23"
canonical_url: "https://rubyweekly.com/issues/337"
---

This week's Ruby news, issue 337

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

Ruby WeeklyIssue 337 — February 23, 2017

Filippos Vasilakis[How to Add a 'JSON API' API to a Rails 5 App](https://github.com/vasilakisfil/rails5_api_tutorial)An extensive tutorial (with fully working/deployed code) on building an API on top of the app built in Michael Hartl’s [Rails Tutorial](https://www.railstutorial.org/).


Gaurav Tiwari[Using Webpacker to Bundle JS Assets in Rails Apps](https://medium.com/statuscode/introducing-webpacker-7136d66cddfb)Rails 5.1 will have first-class support for Webpack. This post explores the new alpha version of the official Webpacker gem and its features.


Nelson Elhage['reject!' Was Accidentally Quadratic Between Ruby 1.9.3 and 2.3](http://accidentallyquadratic.tumblr.com/post/157496054437/ruby-reject)_“I find this interesting as a cautionary tale of how several of Ruby’s features interact to create suprising edge cases that need to be addressed”_


ReinteractiveSponsored[How do you choose the right development team?](https://reinteractive.com/service/application-design-and-development?sid=112)Referrals! Every project we've handed over to our client's in-house team leaves them blown away by the quality of our code. Choose reinteractive to help with you with your development needs and inherit good code!

[![Reinteractive\](https://copm.s3.amazonaws.com/e4b2de53.png)](https://reinteractive.com/service/application-design-and-development?sid=112)


Ray Hightower[Animated Graphics in Ruby with SDL](http://rayhightower.com/blog/2017/02/15/animated-graphics-in-ruby/)Step-by-step instructions to create and run a simple Ruby app that generates and renders animated graphics using the `graphics` gem and SDL.


Richard Schneeman[Why Rack::Timeout Could Hose Your Server](https://www.schneems.com/2017/02/21/the-oldest-bug-in-ruby-why-racktimeout-might-hose-your-server/)Not only is [Ruby’s Timeout class dangerous](http://jvns.ca/blog/2015/11/27/why-rubys-timeout-is-dangerous-and-thread-dot-raise-is-terrifying/), even using `ensure` does not ensure you’re OK with Rack::Timeout.


Noel Rappin[High Cost Tests and High Value Tests](https://medium.com/table-xi/high-cost-tests-and-high-value-tests-a86e27a54df)Thinking about what your tests can do both _for_ you and _to_ you. Noel has also launched a [testing email course](https://www.rubytapas.com/testingjournal/) with Avdi Grimm of RubyTapas.


Christopher Lupprich[5 Habits That Made Me A Better Ruby Developer](https://christoph.luppri.ch/articles/2017/02/20/5-habits-that-made-me-a-better-ruby-developer/)_“I’m a firm believer that a style guide and accompanying tools that enforce it are the best way to a uniform codebase.”_


Jobs

- [Senior Rails Developer at Ascent (Chicago)](https://www.builtinchicago.org/job/senior-rails-developer-1?utm_source=rubyweekly&utm_medium=email)Small well-funded B2B startup with big goals seeking an insatiably curious and uncompromisingly customer-focused dev to take responsibility for our consumer app and APIs. Ascent
- [Full Stack and Production Engineers at Handshake (SF)](https://joinhandshake.com/engineering/#careers-listings?utm_source=rubyweekly&utm_medium=email)Join a fast growing startup helping millions of students of all backgrounds across the country start their career. Handshake
- [Sr. Javascript / Ruby Developer](https://www.stickermule.com/jobs?job=714da6cc-dc8b-4453-8bd6-7b0fa41ebd37&title=sr-javascript--ruby-developer)Sticker Mule is looking for passionate engineers to join our remote team. Come help us build the best e-commerce experience using Ruby, Rails, React, Node, Docker and more. Sticker Mule

In brief

- [Rails 4.2.8 Released: Rails 4.2 Now Supports Ruby 2.4](http://weblog.rubyonrails.org/2017/2/21/Rails-4-2-8-has-been-released/?utm_source=rubyweekly&utm_medium=email) news Official Rails Blog
- [The Rails Girls 5th Anniversary Campaign is Open](https://railsgirlssummerofcode.org/blog/2017-02-16-anniversary-campaign?utm_source=rubyweekly&utm_medium=email) news 
Rails Girls gives scholarships to help women get started with a career in tech. Rails Girls
- [An AMA (Ask Me Anything) with David Heinemeier Hansson](https://hashnode.com/ama/with-david-heinemeier-hansson-cizf90u8w000ro353hnz8v4f5?utm_source=rubyweekly&utm_medium=email) news 
The creator of Rails answered a _lot_ of interesting questions. Hashnode
- [Rails to Phoenix: A 3-day training event in Berlin](http://elixir-phoenix-workshop.simplabs.com?utm_source=rubyweekly&utm_medium=email) 
Learn Elixir & Phoenix, building on your Rails expertise. Enter as novice, leave ready to build with Elixir. simplabsSponsored
- [15 Weird Things About Ruby You Should Know](http://www.blackbytes.info/2017/02/weird-ruby/?utm_source=rubyweekly&utm_medium=email) tutorial 
A variety of things including `redo`, `RbConfig`, and using methods on heredocs. Jesus Castello
- [Stubbing the AWS SDK from Ruby](https://semaphoreci.com/community/tutorials/stubbing-the-aws-sdk?utm_source=rubyweekly&utm_medium=email) tutorial 
How to write test-driven code that interacts with vendor APIs, using AWS Ruby SDK & DynamoDB as an example. Louis McCormack
- [Profiling MRuby Code](http://log.fundamental-code.com/2017/02/14/profiling-mruby.html?utm_source=rubyweekly&utm_medium=email) tutorial 
A technical example of using mruby-prof to profile and debug mruby. Mark McCurry
- [Going Deeper with Service Objects in Rails](https://hackernoon.com/going-further-with-service-objects-in-ruby-on-rails-b8aac13a7271?utm_source=rubyweekly&utm_medium=email) tutorial 
Applying several refactorings to make service objects better. Rob Race
- [Pitfalls With ActiveRecord's Uniqueness Validator](https://phraseapp.com/blog/posts/pitfalls-uniqueness-validation-for-uniqueness-using-rails-activerecord/?utm_source=rubyweekly&utm_medium=email) tutorial 
How to avoid validations that fail and how to clean up the data when they do. Stefan Bruhns
- [Digging into Ruby’s Unary ‘&’ Operator](https://medium.com/@amliving/rubys-unary-operator-a93d36d3cd8b?utm_source=rubyweekly&utm_medium=email) tutorial Andrew Livingston
- [[eBook\] Database Performance Monitoring Buyer's Guide](https://www.vividcortex.com/resources/database-performance-monitoring-buyers-guide?utm_campaign=Ruby%20Weekly&utm_source=ppc) 
This guide is designed to aid when evaluating database monitoring solutions for your unique environment. VividCortexSponsored
- [Upgrade Ruby, Find A Bug](https://thomasleecopeland.com/2017/02/16/upgrade-ruby-find-bug.html?utm_source=rubyweekly&utm_medium=email) story 
A quick story of how a Ruby upgrade unveiled a bug in Tom’s code. Tom Copeland
- [Rails::API vs. Sinatra vs. Grape: A Comparison](http://blog.scoutapp.com/articles/2017/02/20/rails-api-vs-sinatra-vs-grape-which-ruby-microframework-is-right-for-you?utm_source=rubyweekly&utm_medium=email) opinion Derek Haynes
- [ContrivedJSON: A JSON Parser Implemented using Flex, Bison, and Ruby](https://github.com/cjhdev/contrived_json?utm_source=rubyweekly&utm_medium=email) code 
An example of using Flex and Bison to quickly produce LALR/GLR parsers. Cameron Harper
- [Refrigerator: Freezes All Core Ruby Classes](https://github.com/jeremyevans/ruby-refrigerator?utm_source=rubyweekly&utm_medium=email) code 
Makes sure nothing is changing core classes or modules at runtime. Jeremy Evans
- [Iodine: A Fast Concurrent Web Server for Real-Time Ruby Apps](https://github.com/boazsegev/iodine?utm_source=rubyweekly&utm_medium=email) code 
Includes native support for WebSockets and static file serving. Boaz Segev
- [OmniAuth 1.6: The Flexible Rack Middleware-Based Auth System](https://github.com/omniauth/omniauth?utm_source=rubyweekly&utm_medium=email) code Michael Bleigh
- [Rudisco: A Local (SQLite) Database of Info on 126,000 RubyGems](https://github.com/Medvedu/rudisco?utm_source=rubyweekly&utm_medium=email) code Kuzichev Michael

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/337)

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