While the Rails team definitely appreciate your bug reports, unfortunately they do sometimes get into a limbo state for various reasons (e.g. unclear reproduction steps). In an attempt to keep the size of the issues tracker manageable, we will be running a script to close the issues that's tagged as "stale" in the coming week. If you have one of these issues and you believe the problem is still not adequately addressed in the latest version, please do comment on the ticket so that we can look into it further.
Active Job is a framework for declaring jobs and making them run on a variety of queueing backends, sort of an "ORM for queues" if you will. This gem is a new effort to bring this feature into Rails again, with the focus shifted to the specification of the async Job rather than on the queue itself. It's currently under Active Development, so it would be nice if you could try this out in a project and help influence the API design.
zomg, I'm incredibly excited about this! This year, we will have eight students working with us on improving various parts of the Rails framework. Don't forget to check out our sister project as well!
This week's top contributors include @rafaelfranca, @tenderlove and @senny. Big thanks you to these 36 contributors who helped improve our framework this week. Hope to see you on the list next time! <3 <3 <3
@sgrif is working on a feature to enable registering custom column types in Active Record. For example, you will be able to register a Money column type that is backed by an integer column in the database while exposing a more user-friendly API in Ruby. Future plans include refactoring existing features such as serialized attributes and enums using the foundation that is laid out in this change.
This pull request is currently waiting for more feedback from the core team. If you think you might have a use case for this feature, definitely take a look and see how well it'd work for your needs. (Avoid :+1: comments though, as they add very little to the conversation and create a lot of noise for everyone.)
While this feature is still waiting for further reviews, @sgrif already gotserveralsmallerrefactoring merged into the codebase along the way.
@zzak picked up the task to document our documentation policy. If you would like to contribute patches to Rails or if you maintain gems that is designed to work with Rails, please take some time to familiarize yourself with them. This also explains what APIs you can safely rely on in your application from a user's perspective.
With this change, attempts to serve non-digested assets in development mode will fail. This aligns the development configuration more closely with the production setup, which would help avoid surprises where assets were "working" locally but gone missing when deployed to production.
You've asked for it, and now it's finally here! Hash#deep_symbolize_keys and friends now recurse into nested arrays inside the Hash, this should make working with JSON data much easier.
This is a pretty interesting case of butterfly effect inside the Rails codebase. A completely unrelated change in ActiveSupport::Callbacks managed to break JSON serialization for Active Record models, who would have thought! While fixing this, Aaron also pointed me to a technique called double-checked locking, which I find quite interesting as well.
Concerned that newcomers to the framework might be confused between the Post controller/model/routes and the POST HTTP verb, @JohnKellyFerguson took up the task to amned the Getting Started Guide to use a different model name. This little bit of attention to details would go a long way to help smooth out the onboarding process. It also shows how anyone in the community find opportunities to contribute back regardless of where you are in your journey!
@zzak, a Ruby committer, is now a member of the Rails issues/docs team. Congratulations Zachary!
Wrapping up
And that's it for this issue of This week in Rails. I say this every week, but this week there's an usually huge list of interesting things happening on Rails than I can cover here, so I encourage you to check them out!
If you have any feedback for me, please feel free to email me or let me know on twitter!
Thank you for reading! <3 <3 <3
P.S. If you liked what you read, please share this newsletter with your Rails friends!