---
title: "It's issue 420 of Ruby Weekly"
publication: "Ruby Weekly"
issue: 420
published_at: "2018-10-11"
canonical_url: "https://rubyweekly.com/issues/420"
---

This week's Ruby news, issue 420       

#420 — October 11, 2018 

[Read on the Web](https://rubyweekly.com/issues/420)   

Ruby Weekly  

[csvreader: Read CSV-Formatted Tabular Data 'The Right Way'](https://github.com/csv11/csvreader) — An attempt at producing a better CSV reading library for Ruby due to [issues in the one in the standard library.](https://github.com/csv11/docs/blob/master/why-the-csv-stdlib-is-broken.md) 

Gerald Bauer   

[Pair With Me: Rubocop Cop that Detects Duplicate Array Allocations](https://schneems.com/2018/10/09/pair-with-me-rubocop-cop-that-detects-duplicate-array-allocations/) — _“I did have one person report a reasonably huge savings within their actual Rails app where they were chaining methods on a massive array of active record objects.”_ 

Richard Schneeman   [![\](https://copm.s3.amazonaws.com/2805bb85.png)](https://blog.digitalocean.com/spaces-now-includes-cdn/?utm_source=paid_newsletter+ruby+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=10-11-18+ruby+weekly+cooperpress) 

[Spaces Object Storage Just Got Even Better. Learn More](https://blog.digitalocean.com/spaces-now-includes-cdn/?utm_source=paid_newsletter+ruby+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=10-11-18+ruby+weekly+cooperpress) — A built-in CDN provides global edge caching to lower latency and deliver web assets up to 70% faster. 

DigitalOcean sponsor   

[12 Factor CLI Apps](https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46) — Can you take the ideas from the [12 factor app methodology](https://12factor.net/), originally constructed as a way to structure _webapps_, and apply it to command line apps? Yes, and here’s how. _Note: This is aimed at Node devs, but the principles could be applied to Ruby apps._ 

Jeff Dickey   

[The Ruby Testing Podcast](http://www.rubytestingpodcast.com/) — A new(ish) Ruby podcast you might want to add to your favorite podcatcher. The [latest episode](http://www.rubytestingpodcast.com/dave-kimura) covers finding the balance between building features and writing tests with Dave Kimura. 

The Ruby Testing Podcast   

[Destructuring in Ruby](https://medium.com/@baweaver/destructuring-in-ruby-9e9bd2be0360) — Destructuring is a way to pull values from objects or hashes and is (justifiably) popular in modern JavaScript. Brandon brings that idea to Ruby. 

Brandon Weaver   

[What's Coming to Rails 6.0](https://bogdanvlviv.com/posts/ruby/rails/what-is-new-in-rails-6_0.html) — Rails 6 isn’t out yet, but this under-development page links to a variety of interesting pull requests and commits. Grab a cup of coffee if you want to try and keep up :-) 

Bogdan Denkovych   

[Nokogiri Affected By Multiple libxml2 Vulnerabilities](https://rubysec.com/advisories/nokogiri-CVE-2018-14404) — This security advisory will particularly affect you if you’re using Nokogiri’s vendored libxml2 library and you should upgrade to the recently released [Nokogiri 1.8.5](https://rubygems.org/gems/nokogiri). 

Rubysec  

💻 Jobs  

[Sr. Fullstack Engineer (Remote)](https://www.stickermule.com/careers) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work. 

Sticker Mule   

[DevOps / Platform Engineer - Kubernetes, Cloud Foundry, BOSH](https://www.anynines.com/careers/devops_platform_engineer?utm_source=CooperPress&utm_medium=newsletter&utm_campaign=devops_platform-engineer_recruiting_09_18) — Accelerate your experience & build PaaS products that help developers to ship software faster. 

Anynines   

[Join Our Career Marketplace & Get Matched With A Job You Love](https://www.hired.com/ruby) — Through Hired, software engineers have transparency into salary offers, competing opportunities, and job details. 

Hired  

📘 Articles & Tutorials  

[Ruby Method Lookup, `RubyVM.stat`, and Global State](http://engineering.appfolio.com/appfolio-engineering/2018/10/2/ruby-method-lookup-rubyvmstat-and-global-state) — Noah gives you another place to look and tool to use when performance is suffering. 

Noah Gibbs   

[The Evolution of Ruby Strings from 1.8 to 2.5](https://medium.com/@farsi_mehdi/evolution-of-ruby-string-from-1-8-to-2-5-d47afd3505df) — Strings are one of the data types that have changed the most between different versions of Ruby. 

Mehdi Farsi   

[Lowering Memory Usage of Your Rails App with jemalloc](https://bubblin.io/blog/jemalloc) 

Marvin Danig   

[Webinar: Actionable CD Metrics. Use Metrics to Improve Your Processes](https://info.thoughtworks.com/Actionable_CD_Metrics.html?utm_campaign=analytics_webinar&utm_medium=newsletter_ad&utm_source=cooperpress_ruby&utm_content=analytics_webinar&utm_term=) 

GoCD sponsor   

[Break Your Rails App Into Parts](http://tomrothe.de/posts/rails_parts.html) — Did you know you can tell Rails which directories (yes, multiple) to look in for controller files, model files, and almost any other file? Me neither. 

Tom Rothe   

▶[Service Objects for API Interactions with Twilio](https://www.driftingruby.com/episodes/service-objects-for-api-interactions-with-twilio) — _“In this episode, learn how to extract the interactions with an external API into a service object so that code is isolated and interchangeable.”_ 

Drifting Ruby   

[What's a Senior Engineer's Job?](https://jvns.ca/blog/senior-engineer/) — Not Ruby specific, but the creator of [rbspy](https://rbspy.github.io/) has some insight to share. 

Julia Evans  

🔧 Code & Tools  

[render_async: Render View Partials Asynchronously via Ajax](https://github.com/renderedtext/render_async) — [2.0 has just been released](https://github.com/renderedtext/render_async/releases/tag/2.0.0) that drops jQuery as being the default option and introduces error handling. 

Rendered Text   

[Monotime: A Sensible Interface to Monotonic Time in Ruby](https://github.com/Freaky/monotime) — Monotonic time is independent of system clock changes and is the only way you should measure elapsed time in your programs. 

Thomas Hurst   

[Honeybadger + GitLab == ❤️](https://blog.honeybadger.io/gitlab-error-tracking?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby&utm_content=Honeybadger+Plus+GitLab+Equals+Heart) — Do you love GitLab? Honeybadger now supports issue automation, code links, and more. Check it out. 👉 

Honeybadger sponsor   

[Down: Flexible Streaming and Downloading of Remote Files over HTTP](https://github.com/janko-m/down) — Can use open-uri, Net::HTTP, HTTP.rb or wget behind the scenes. 

Janko Marohnić   

[Doorkeeper: An OAuth 2 Provider for Rails (and Grape) Apps](https://github.com/doorkeeper-gem/doorkeeper) 

Applicake   

[Dexter: An Automatic Indexer for Postgres](https://github.com/ankane/dexter) — Analyzes queries, creates indexes. 

Andrew Kane         

Curated by [Cooperpress](https://cooperpress.com/) 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
