This edition was created with support from @adrianthedev from Avo for Ruby on Rails (a friendly full-featured Rails admin panel) and @jcsrb
It is excellent to start the week with something positive:
👉 Adrian Marin shared a suggestion about how to contribute to supporting more people to user Ruby: It will help if you read the entire conversation as good ideas are replied back and forth. 👉 Peter Solnica shared a sample code of how the dry-logger reporting looks like: 👉 Ruby On Rails shared the news about Rails Foundation : If you want to read also about concerns regarding this foundation, here is a conversation started by Luca Guidi and here is one started by Brandon Weaver . 👉 Mike Dalessio shared that the Ruby Core monthly meeting notes are available on Github repo : 👉 Miron Marczuk shared a thread about the course “Get to Senior” from HexDevs :
Here is a bit from the thread shared by Miron:
👉 Noel Rappin shared that The Pragmatic Bookshelf is having a Black Friday, and now you can buy Ruby books with a discount: You can now buy the Programming Ruby 3.2 pickaxe book with 40% discount using that code. 👉 Paul Mucur shared how to get the mime type from the Accept header: Here he shared a gist showing how to use this in a controller with specs explaining how it works. 👉 Kirill Shevchenko shared a code sample showing the difference between
Peter Solnic added : And David Stosik added : 👉 Joel Drapper shared their take on React and View layer on Rails: You should read the conversation on ruby.social it has some excellent arguments for using ViewComponent or Phlex. Later on Joel added : 👉 Kirill Shevchenko shared a code sample about using split with a second argument: 👉 Paweł Dąbrowski shared a code sample about how dig works: 👉 Greg Navis shared code samples about methods similar to method_missing:
Here is the list that Greg will demo with code samples in this thread:
method_added - “Invoked as a callback whenever an instance method is added to the receiver” method_removed - “Invoked as a callback whenever an instance method is removed from the receiver” method_undefined - “Invoked as a callback whenever an instance method is undefined from the receiver.” prepended - “The equivalent of
, but for prepended modules.” included - “Callback invoked whenever the receiver is included in another module or class.” extended - “The equivalent of
, but for extended modules.” singleton_method_added - “Invoked as a callback whenever a singleton method is added to the receiver.” singleton_method_removed - “Invoked as a callback whenever a singleton method is removed from the receiver” singleton_method_undefined - “Invoked as a callback whenever a singleton method is undefined in the receiver.” method_missing - “Invoked by Ruby when obj is sent a message it cannot handle.” const_missing - “Invoked when a reference is made to an undefined constant in mod .” respond_to_missing? - “Hook method to return whether the obj can respond to id method or not.” - please notice the docs say “DO NOT USE THIS DIRECTLY” You should read the entire thread where Greg shares code samples about each method. 👉 Justin Searls shared that our decision process is influenced by DevRel and megacorps: Related to this subject, Nate Hopkins shared this: 👉 Paweł Dąbrowski shared a visual explanation about the semantic versioning of gems in the Gemfile: 👉 Sebastian Wilgosz shared they plan to start a new podcast, focused on content creation for devs: If you are interested in this content, you should fill in this form where Sebastian wants to find out what you want to know. 👉 Brad Gessler shared a thread where he showed how to build a view for a form with Phlex.fun: Here is a code sample Brad shared for how the controller might look like, but you should read the entire thread as it has more code samples about how to use Phlex components: 👉 Ruby Cademy shared their project rubycademy.com is now live: 👉 Leastbad shared a one-line config for Rails that will enable Brotli gzip content-encoding: Before enabling this, you should read about The BREACH attack 👉 Kevin Newton shared a code sample about how to use emojis as methods: 👉 Jason Charnes asked a question about weekend projects in Ruby:
You will discover in the thread a wide range of exciting projects: from preparing to launch Hanami 2.0, finishing a workshop on TurboNative, working on documentation for TurboReflex, compiling C into Ruby, building a Roda starter for Fly.io deployments, using TracePoint, working on a new book and much more.
👉 Kirill Shevchenko shared a collection of tools to debug memory issues:
Here is the list of gems with links:
👉 u/campbellm asked a question about how to use service objects and received a lot of good responses:
If you have read so far and you like the content, maybe you take into consideration sharing this and subscribing:
🤝 Jason Warner shared their thoughts about monolith and micro-services architecture: Here are some parts of the thread , but you should read it all : 🤝 Ryan Bates shared that it is possible to ignore specific commits while git blame: Read the docs here Here is the relevant section from the Github docs : 🤝 Mel Kaulfuß shared what shift-left looks like: Source: @MelissaKaulfuss on Twitter 🤝 Alex Russell shared about a new concept named Minimal Client Complexity: Here is one of those risks, as Alex mentions it, but you should read the thread : 🤝 Study Every Da shared how to open all changed files in vim: It is worth considering this reply from Ara Hocopian : 🤝 Mosquito Capital shared a good thread about how to think and approach reliability scenarios: Source: @MosquitoCapital on Twitter
If you read that thread, you can easily extract a checklist about what to check or how to test your system and see if you have the proper processes and people to handle these unexpected scenarios.
Jenny Shih shared their slides from RubyConfMini Functional Programming for Fun and Profit 🗞️ Nate Berkopec published a new edition of Speedshop Ruby Performance Newsletter: When Not To Use A Background Job 🗞️ Emmanuel Hayford published a new episode of The Rails Foundation, Stimulus Outlets API, bug fixes and lots improvements 🗞️ Ruby Weekly published a new edition The Rails™ Foundation 🗞️ Ruby LibHunt published a new edition of the Awesome Ruby Newsletter 🗞 Ruby Radar published a new edition: 77 - The Rails Foundation Announced Josef Strzibny published an article about How to deploy Rails and Sidekiq to Fly.io Port Swigger Research shared research about Stealing passwords from infosec Mastodon - without bypassing CSP The Ruby Dev shared an article about using DragonRuby: Moving in Arbitrary Directions Meg Gutshall shared a good article about How to Git Partial Commit Effortlessly Eric Berry shared an article written by Paweł Urbanek about Rails Quick Tip - Use Private Debugging Aliases Joe Masilotti shared an article on Starter Story about How A Spreadsheet Became A Business That Generated $146K/Year In A Year Dave Copeland shared an article they wrote about Your Rails and Ruby Versioning and Gemfile Policy . Andreas Haller shared an SQL gist explaining cursor-based pagination: Example implementation of cursor-based pagination Code Climate published a new article written by Sasha Rezvina about Why Ruby Class Methods Resist Refactoring Alexandre Barret shared an article they wrote about On writing better service objects 🎥 Yaroslav Shmarov published a new video about Passwordless login with magic link 🎥 Drifting Ruby published a new episode about This Week in Rails - Nov 18th, 2022 🎥 Avdi Grimm published the first episode on the GracefulDev Youtube channel: Barewords in Ruby 🎥 Rubber Duck Dev Show published a new episode Top Down or Bottom Up Testing 🎧 Justin Searls shared the latest episode of YAGNI : Small user stories w/ Dave Copeland 🎧 Fuzzygroup re-launched the Ruby5 podcast Listen here 🎧 Ruby For All published a new episode about Screencasting Basics with Collin Jilbert 🎧 Remote Ruby published a new episode about BridgetownConf, Pagination, HTTP/3 & Actionable Errors 🎧 The Ruby on Rails Podcast published a new episode: Artificial Intelligence on Rails with Kevin Su 🎧 The Bike Shed published a new episode 362: Prioritizing Learning Meg Gutshall shared the prettier_print gem that can replace the prettyprint gem. Joel Drapper published a new version of Phlex. Read the changelog here Marco Roth shared that their PR about Outlets API was merged to hotwire/stimulus: Stan Lo shared they are working on adding the edit command to IRB. Check out the PR Add edit command by st0012 Joel Drapper shared an example of how easy it is to re-use Phlex views as gems: See the code here Stanislav Katkov shared an update of their gem rdoc-markdown
where they added output examples. See example 1 and example 2 Joel Drapper shared they merged a PR that adds around_template hook on Phlex: Check out the PR here Stephen Ierodiaconou published a new gem named yaml_csp_config that “allows you to specify your content security policy (CSP) in a YAML file”.