---
title: "This week's Ruby news"
publication: "Ruby Weekly"
issue: 474
published_at: "2019-10-31"
canonical_url: "https://rubyweekly.com/issues/474"
---

Ruby 2.7 preview 2 benchmarks, a new JRuby release, Rails 6 additions, and more.       

#474 — October 31st, 2019 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/b7yhggww7efwvderbbkv.jpg)](https://gitlab.com/honeyryderchuck/httpx#httpx-a-ruby-http-library-for-tomorrow-and-beyond)   

[HTTPX: A Ruby HTTP Library 'for Tomorrow'](https://gitlab.com/honeyryderchuck/httpx#httpx-a-ruby-http-library-for-tomorrow-and-beyond) — httpx has a slew of features, the most interesting being HTTP/2 support and concurrent requests _by default_. 

HoneyryderChuck   

[A Quick Speed Update on Ruby 2.7 Preview 2](http://engineering.appfolio.com/appfolio-engineering/2019/10/24/ruby-27preview2-a-quick-speed-update) — Last week we announced the [release of Ruby 2.7 preview 2](https://www.ruby-lang.org/en/news/2019/10/22/ruby-2-7-0-preview2-released/) (final due on Christmas Day as usual) and Ruby benchmarker extraordinaire Noah has already put it through its paces.. don’t get too excited, it’s barely faster than 2.6 so far. 

Noah Gibbs   [![\](https://copm.s3.amazonaws.com/eba15494.png)](https://pganalyze.com/ebooks/optimizing-postgres-query-performance?utm_source=RubyWeeklyPrimary) 

[eBook: Best Practices for Optimizing Postgres Query Performance](https://pganalyze.com/ebooks/optimizing-postgres-query-performance?utm_source=RubyWeeklyPrimary) — Learn how to get a 3x performance improvement on your Postgres database and 500x reduced data loaded from disk in this free pganalyze eBook. 

pganalyze sponsor   

[JRuby 9.2.9.0 Released](https://www.jruby.org/2019/10/30/jruby-9-2-9-0.html) — The popular JVM-based Ruby implementation takes a few more baby steps forward with the complete Ruby 2.5.7-level standard library, RubyGems 2.7.10, thread safety improvements, and better Java module support. 

JRuby Core Team   

[Taming Large Rails Applications with Private ActiveRecord Models](https://kellysutton.com/2019/10/29/taming-large-rails-codebases-with-private-activerecord-models.html) — The biggest gain here is a ‘privacy by default’ approach to models (and their underlying data) but there are peripheral benefits around simpler testing, among other things. 

Kelly Sutton   

[Managing PostgreSQL's Partitioned Tables with Ruby](https://www.honeybadger.io/blog/pg-partition-manager/) — `pg_partition_manager` is a new gem for maintaining partitioned tables that need to be created and dropped over time as you add and expire time-based data in your app. 

Benjamin Curtis  

💻 Jobs  

[Senior Web Developer at Dr. Bill](https://www.dr-bill.ca/senior-web-developer) — Dr. Bill helps Canadian doctors save time by streamlining their billing. Help lead our team into the next phase of growth. 

Dr.Bill   

[Have You Tried Vettery?](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-rubyweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77583) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

📘 Articles & Tutorials  

[Streaming Large ZIP Files in Rails](https://piotrmurach.com/articles/streaming-large-zip-files-in-rails/) — A thorough article that is download framework agnostic. I especially enjoyed the content around HTTP headers and how they affect the browser’s behavior. 

Piotr Murach   

[Using Bind Parameters in Active Record for Security and Performance](https://blog.saeloun.com/2019/10/28/bind-parameters-in-activerecord-sql-queries.html) — Arel makes it possible to formulate such complex queries now that writing your own SQL is rarely necessary, but if you do.. 

Rohit Kumar   

[WebSockets: A Deep Dive into the Underlying Protocol of Action Cable](https://www.ably.io/concepts/websockets) — Learn about the nitty gritty technical details and limitations of WebSockets when building apps with Action Cable. 

Ably sponsor   

[Improving Performance with Flame Graphs](https://getaround.tech/improving-performance-with-flame-graphs/) — This post explains a quick and easy set up for Rails alongside an explanation of how to read a flamegraph to find opportunities for optimization. 

Howard Wilson   

[Ruby 2.7 Adds `inherit` As An Optional Argument to `Module#autoload?`](https://blog.saeloun.com/2019/10/24/ruby-2-7-adds-inherit-as-optional-argument-to-module-autload.html) 

Romil Mehta   

[Go Is The New Ruby(?)](https://00f.net/2019/10/28/go-is-the-new-ruby/) — This is not so much a comparison to Ruby as it is to Rust, citing the happiness of a Ruby developer is analog to their Go counterpart. 

Frank Denis   

[9 Industries Where Flagship Companies Choose Ruby on Rails](https://medium.com/@rubyroidlabs/9-industries-where-flagship-companies-choose-ruby-on-rails-839b7e21812b) — The list of industries is impressive, as are the companies within. Another arrow in the “Rails ain’t dead” quiver. 

Rubyroid Labs       

🛤 Small Things Rails 6 Added 

The folks at BigBinary write frequent blog posts covering the [non-headline features of Rails 6](https://blog.bigbinary.com/categories/rails-6/) (which [came out](https://weblog.rubyonrails.org/2019/8/15/Rails-6-0-final-release/) two months ago now) and while we include them from time to time, they have so many that we're doing a round-up here 😄 

- [`Activestorage::Blob#open`](https://blog.bigbinary.com/2019/10/30/rails-6-adds-activestorage-blob-open.html)
- [`ActionMailer#email_address_with_name`](https://blog.bigbinary.com/2019/10/22/rails-6-adds-actionmailer-email_address_with_name.html)
- [Rails 6 raises ArgumentError if custom param contains a colon](https://blog.bigbinary.com/2019/10/15/rails-6-raises-argumenterror-if-custom-param-contains-a-colon.html)
- [The new Zeitwerk code loader](https://blog.bigbinary.com/2019/10/08/rails-6-introduces-new-code-loader-called-zeitwerk.html)
- [`ActiveSupport::ActionableError`](https://blog.bigbinary.com/2019/10/01/rails-6-adds-active-support-actionable-error.html)
- [`add_foreign_key` and `remove_foreign_key` for SQLite3](https://blog.bigbinary.com/2019/09/24/rails-6-adds-add_foreign_key-and-remove_foreign_key-for-sqlite3.html)
- [`ActionDispatch::Request::Session#dig`](https://blog.bigbinary.com/2019/09/18/rails-6-adds-actiondispatch-request-session-dig.html)
- [Rails 6 marks arrays of translations as trusted safe by using the '_html' suffix](https://blog.bigbinary.com/2019/09/11/rails-6-marks-arrays-of-translations-as-trusted-safe-by-using-the-_html-suffix.html)
- [`filter_attributes` on `ActiveRecord::Base`](https://blog.bigbinary.com/2019/09/03/rails-6-adds-activerecord-base-filter_attributes.html)
- [Rails 6 allows passing custom configuration to `ActionCable::Server::Base`](https://blog.bigbinary.com/2019/08/21/rails-6-allows-passing-custom-configuration-to-actioncable-server-base.html)    

🛠 Code and Tools  

[RubyCritic 4.2.0: Now With SimpleCov Support](https://www.fastruby.io/blog/code-quality/code-coverage/rubycritic-4-2-0-simplecov-support.html) — [RubyCritic](https://github.com/whitesmith/rubycritic) is a tool for producing reports about your Ruby code’s _quality_. It uses other tools like Reek, Flay, Flog, and now SimpleCov to produce reports about things like complexity, code smells, and test coverage. 

Fast Ruby Blog   

[full_request_logger: Make Full Request Logs Accessible Via Web UI](https://github.com/basecamp/full_request_logger) — Writes Rails logs to an auto-expiring Redis key. _“This is ideal for when you’re testing a feature in the wild with production-levels of data, which may reveal performance or other issues that you didn’t catch in development.”_ 

Basecamp   

[Monitoring and Distributed Tracing for Ruby Apps. Try Datadog Free](https://www.datadoghq.com/dg/apm/ruby-tracing/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-RubyWeeklyB) 

Datadog APM sponsor   

[Slate: Beautiful Static Documentation for Your API](https://github.com/slatedocs/slate) — Built on top of Middleman, Slate is being used by an impressive list of companies, so it’s probably good for you, too. 

Slate   

[Invisible: Override Methods While Maintaining Their Original Visibility](https://github.com/shioyama/invisible) — So, you can’t accidentally make a private method public by overriding it. Neat. 

Chris Salzberg   

[Hashie 4.0: Classes and Mixins That Make Hashes More Powerful](https://github.com/intridea/hashie) — Bring things like coercion, access methods, indifferent access, and more to hashes quickly. I’ve seen this used as a dependency in many libraries. 

INTRIDEA Inc.         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [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
