---
title: "Does your gem have over 165 million downloads? Well.."
publication: "Ruby Weekly"
issue: 608
published_at: "2022-06-16"
canonical_url: "https://rubyweekly.com/issues/608"
---

Plus attr_accessor's secrets, Heroku's new stack, and the profitable Ruby Slack bot. |        

[🇺🇦](https://war.ukraine.ua/) #​608 — June 16, 2022 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/xhqbjsmcdwns7wh6hr6w.jpg)](https://blog.rubygems.org/2022/06/13/making-packages-more-secure.html)  

[Making Popular Ruby Packages More Secure](https://blog.rubygems.org/2022/06/13/making-packages-more-secure.html) — Mirroring similar moves by GitHub with the npm registry, RubyGems’ maintainers want to improve the security of the Ruby ecosystem by making maintainers of the most popular gems use multi-factor authentication on their RubyGems accounts to mitigate account takeovers. How popular? _“Anybody who maintains a gem with more than 165 million downloads”_.. 😮 

Betty Li (RubyGems)   

[Why `attr_accessor` is Faster than Regular Methods](https://dmitrytsepelev.dev/attr-accessor-in-ruby) — `attr_accessor`, `attr_writer` and `attr_reader` are just shorthand for defining getter and setter methods, right? Yes and no. Dmitry heads down to the bytecode level to see why `attr_` produced methods are a little faster than rolling your own. 

Dmitry Tsepelev   [![\](https://copm.s3.amazonaws.com/abab33a7.png)](https://www.appsignal.com/for/multiplayer-monitoring?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2022-06-16) 

[Fight Bugs with AppSignal in Multiplayer Mode](https://www.appsignal.com/for/multiplayer-monitoring?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2022-06-16) — Fighting bugs on your own is hard. You need to get information from your app, understand the problem, and come up with possible solutions. With AppSignal, the whole team comes together. 

AppSignal sponsor   

[The Case for Pattern Matching Key Irreverence in Ruby](https://dev.to/baweaver/the-case-for-pattern-matching-key-irreverence-in-ruby-1oll) — A thoughtful post that puts forth a keyword argument-type approach for pattern matching arguments stemming from [a GitHub issue](https://github.com/ruby/csv/issues/246) on Ruby’s `csv` library. Read it and give your opinion. 

Brandon Weaver   

**Quick Bits:** 

- Did you know `bundle show` was deprecated but has [become undeprecated](https://github.com/rubygems/rubygems/pull/4586) again? You can use `bundle show` to list all the gems in your current bundle.
- Mike Perham shares a little of [what's coming to Sidekiq](https://www.mikeperham.com/2022/06/17/coming-soon-in-sidekiq-2022-edition/) in the near future.
- There are [builds of TruffleRuby](https://github.com/oracle/truffleruby/issues/2181#issuecomment-1152408968) that work on Apple silicon now if you want to have a go.
- Some notes on Heroku's [new Heroku-22 stack.](https://devcenter.heroku.com/articles/heroku-22-stack)
- [RubyMine 2022.2 EAP4](https://blog.jetbrains.com/ruby/2022/06/rubymine-2022-2-eap4/) is out.
- As is [RubyGems 3.3.16](https://blog.rubygems.org/2022/06/15/3.3.16-released.html).     

Jobs  

[Software Developer (Rails, Ruby, MySQL, JS, CSS/HTML)](https://tripleseat.com/careers/) — We're seeking a motivated, driven developer to join our growing development team and help build our leading event management platform. 
Tripleseat Software   

[Senior Rails Engineer @ Nebulab (Remote)](https://nebulab.com/careers?gh_src=a6448332teu) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers. 
Nebulab   

[Backend Engineer | Remote Within CET (-3/+3 Hours) | Full-Time](https://jobs.lever.co/qonto/284b8162-5293-4ad7-a9e6-4ad26ce0c516?lever-origin=applied&lever-source%5B%5D=Cooperpress) — Join us as a Backend Engineer to create the finance solution all businesses love - Tailor made remote policy or relocation package. 
Qonto   

[Find Ruby Jobs Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📕 Articles & Tutorials  

[Code I Like: Domain-Driven Boldness at Basecamp](https://world.hey.com/jorge/code-i-like-i-domain-driven-boldness-71456476) — Jorge gives us some examples of how the folks at Basecamp employ domain-driven design (a.k.a. DDD) resulting in maintainable, readable code that might inspire you to do the same. 

Jorge Manrubia (Hey.com)   

[Migrating from Webpacker to `esbuild`](https://www.fastruby.io/blog/esbuild/webpacker/javascript/migrate-from-webpacker-to-esbuild.html) — If you feel the need to move away from Webpacker, this guide will show you the ins and outs of transitioning to esbuild smoothly, including working around some deficiencies (like hot module reloading). 

Francois Buys (FastRuby.io)   

[How a Rubyist Made $50,000 Profit from a Side Project Slack Bot](https://pawelurbanek.com/anonymous-slack-bot-income) — The $50,000 number is less interesting than the story of the five years it took to build the project to get there, giving real insight into how actual side projects work. 

Paweł Urbanek   

[Free eBook: Efficient Search in Rails with Postgres](https://pganalyze.com/ebooks/efficient-search-in-rails-with-postgres?utm_source=RubyWeeklySecondary06162022) 

pganalyze sponsor   

[Building a Chat App with Hanami and Hotwire](https://katafrakt.me/2022/06/15/building-chat-hanami-hotwire/) — Brings together the elegant [Hanami](https://hanamirb.org/) with Hotwire’s ‘HTML over the wire’ approach for a particularly tight and tidy and idiomatically Rubyish experience. 

Paweł Świątkowski   

[Cross Platform Machine Code](http://tenderlovemaking.com/2022/06/12/cross-platform-machine-code.html) — Aaron (aka Tenderlove) wanted to write a conditional-free (but pizazz-filled) set of tests for assemblers on different platforms, which he recounts here. If you’re into assembly, read on. 

Aaron Patterson   

[Self-Destructing StimulusJS Controllers](https://boringrails.com/articles/self-destructing-stimulus-controllers/) — A great approach when you need a little bit of client-side behavior without a lot of cleanup. 

Matt Swanson   

▶[How to Add Infinite Scrolling to a Rails App with Hotwire in Under 5 Minutes](https://www.youtube.com/watch?v=-ssp88Q9Pmk) 
Cezar Halmagean   

[Working with Hanami Router and TDD](https://hanamimastery.com/episodes/22-testing-hanami-router) 
Hanami Mastery  

🛠 Code & Tools  

[Lockbox 1.0: Modern Encryption for Ruby and Rails](https://github.com/ankane/lockbox) — Got sensitive information you’d like to keep secure? This integrates with Active Record, Action Text, Mongoid, and more to help get it done in an ‘easy to use, hard to misuse’ way. 

Andrew Kane   

[A Basic JSON Parser Written Using Pattern Matching](https://gist.github.com/kddnewton/cdd86ffab5235ea6abcb005978ded7e4) — Not a library or anything, but a nice look at a tidy use of [pattern matching.](https://rubyreferences.github.io/rubyref/language/pattern-matching.html) 

Kevin Newton   

[Agile Localization Platform: Develop, Translate, Deploy - Reiterate](https://webtranslateit.com/?utm_source=cooper_ruby_120) — Translate your app & go global - 15 day free trial - Prices from €66/month - Free for open source projects & charities. 

WebTranslateIt.com sponsor   

[Graphlient: A 'Friendlier' Ruby GraphQL Client?](https://github.com/ashkan18/graphlient) — Builds on top of [graphql-client.](https://github.com/github/graphql-client) 

Ashkan Nasseri   

[Ruby LSP 0.1: An Implementation of the LSP Spec](https://github.com/Shopify/ruby-lsp) — [This VS Code extension](https://github.com/Shopify/vscode-ruby-lsp) then hooks into this. 

Shopify   

[Ancestry 4.2: Organize an Active Record Model into a Tree Structure](https://github.com/stefankroes/ancestry) 
Stefan Kroes   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ccsbqmjljiqyuafbeh6n.jpg)](https://github.com/ankane/chartkick)   

[Chartkick 4.2: Beautiful JS Charts in One Line of Ruby](https://github.com/ankane/chartkick) 
Andrew Kane         

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](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  

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
