Articles by Vamsi Pavan Mahesh

Ruby 3.0 adds `Hash#except` and `ENV.except`

Ruby 3.0 adds `Hash#except` to return a new hash that includes everything from the original hash except the given keys. `ENV` also gets support for `except`.

Rails deprecates `db:structure:load` and `db:structure:dump` tasks

Running `db:structure:load` and `db:structure:dump` tasks will run `db:schema:{load/dump}` based on the value of `config.active_record.schema_format`, and they will be removed in Rails 6.2.

Rails allows a module with extend ActiveSupport::Concern to be prepended

This blog post discusses the concept of prepending in Ruby and prepending concerns with the help of Active Support in Rails.

Ruby adds support for forwarding arguments to a method, along with the leading arguments

... operator was limited to forwarding arguments. With Ruby 3.0, it can forward the arguments along with the leading arguments.

Rails adds support for adding a default value to the rich text area

Rails has added support for adding a default value to the form field of type rich text area.

Ruby adds `Symbol#name` to return frozen string corresponding to the symbol name

Ruby has added `Symbol#name`, which returns the name of the symbol if it is named. The returned string can not be modified.

Changes to behavior in rails db:migrate:name command

Rails has made changes to dump the schema(or structure) of the database when executing the command rails db:migrate:name. The command will also reset the `ActiveRecord::Base` connection after its execution.

Rails adds a minimal flag to generate a new application

Rails used to come with a lot of frameworks by default, when we generate a new application. Now Rails introduced minimal flag to generate an application with only bare minimum frameworks

Ruby adds experimental support for Rightward assignments

Previously ruby used to support only Rvalue to be assigned to Lvalue. Now, it adds support for Rightward assignment

Ruby introduces find pattern in pattern matching

Find pattern is introduced in pattern matching, which is useful in matching arrays.

Ruby 3.0 - Procs accepting a single rest argument and keyword arguments are no longer subject to autosplatting

Ruby 3.0 changed the inconsistent behavior for autosplatting, when rest argument and keyword arguments are present for a Proc

Rails 6.1.0.alpha allows relations with different SQL comments and Optimizer hints in "or"

ArgumentError used to be thrown when relations with SQL comments and Optimizer hints were combined using or. Rails edge(6.1.0.alpha) fixes that issue.