- Short Ruby Newsletter
- Posts
- 👐 Short Ruby - edition #19
👐 Short Ruby - edition #19
Briefly about everything happening in Ruby
This is a short(ish) form of the newsletter where I limited the number of sections and also tried to include less content in each one of them:
If you want to read the usual long format that includes videos, articles and podcasts, and a lot more content that I did not include here click on:
This is just an experiment with the format of the newsletter. I will share how it goes!
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:
Also, on the topic of good news, don’t forget that Hanami is very close to the final release of version 2.0. Follow the progress here (on Trello) or here (on Github).
👐 Our Community
👐 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.
👐 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:
👐 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.
👐 Justin Searls shared that DevRel and megacorps influence our decision process:
👐 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.
👉 Code Inspiration
👉 Kirill Shevchenko shared a code sample showing the difference between == and .equal?
And David Stosik added:
👉 Kirill Shevchenko shared a code sample about using split with a second argument:
👉 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 included, but for prepended modules.”
included - “Callback invoked whenever the receiver is included in another module or class.”
extended - “The equivalent of included, 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.
👉 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:
Before enabling this, you should read about The BREACH attack
👉 Kevin Newton shared a code sample about how to use emojis as methods:
👉 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:
🧰 Gems, Libraries, and Updates
🧰 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”.
🤝 Related (but not Ruby-specific)
🤝 Jason Warner shared their thoughts about the 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:
🤝 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:
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.
Reply