Rails

Rails 6 adds Array#including, Array#excluding, Enumerable#including, Enumerable#excluding

Rails 6 adds Array#including, Array#excluding, Enumerable#including, Enumerable#excluding

Rails 6 adds Relation#reselect

Rails 6 add a reselect method to Relation. This is a short-hand for "unscope(:select).select(fields)".

Rails 6 adds support for timezones to Active Job

Rails 6 now supports preserving timezones to Active Job. It record what was the current timezone in effect when the job was enqueued and then restore when the job is executed in same way that the current locale is recorded and restored.

Rails 6 adds before? and after? methods to Date, DateTime, Time, and TimeWithZone.

Rails 6 adds before? and after? methods to Date, DateTime, Time, and TimeWithZone. This allows to check if a date/time value is before or after another date/time in a more readable way.

Rails 6 adds negative scopes for all enum values

Rails 6 adds negative scopes for all enum values

Rails 6 adds Enumerable#index_with

Rails 6 adds Enumerable#index_with to allows creating a hash from an enumerable with the value from a passed block or a default argument.

Rails 6 adds String#truncate_bytes

Rails 6 adds String#truncate_bytes to limit to N characters without breaking multibytes chars

Rails 6 adds Relation#create_or_find_by

Rails 6 adds Relation#create_or_find_by to avoid race conditions of Relation#find_or_create_by

Using Rails config_for as a replacement for secrets alongside credentials

Rails secrets is deprecated in Rails 6, config_for is a replacement of using ENV specific configuration along with credentials.