Hello!
This is Vipul reporting from Delhi today, on this colourful Holi weekend 💥
Â
Lets take a look at what’s the latest news from the world of Ruby on Rails !
So many fixes and much more.
We’re very happy to announce that Ruby on Rails has been accepted as an organization for the Google Summer of Code (GSoC) 2017 edition!
When an error was thrown from the middleware chain, it was sometimes not getting caught by LocalCache::Middleware.
This change, makes sure that we safely catch the errors and local cache is successfully cleared.
rake db:schema:load with subdirectoriesPreviously db:schema:load didn’t work with migrations based out of subdirectories.
This change starts using Migrator.migration_files in
assume_migrated_upto_version to fix the issue.
This change fixes an issue with malformed asset_url when rendering a template with ActionController::Renderer.
has_many associationThe select method in QueryMethods is also an enumerable method. Ideally, enumerable methods with block should delegate to records on
CollectionProxy and not the scope.
This change fixes this behaviour that select with block doesn’t return newly built records in has_many association.
titlelize regex to allow apostrophesIn a previous fix the regex in titlelize was updated to not match apostrophes to better reflect the nature of the transformation.
Unfortunately this had the side effect of breaking capitalization on the first word of a sub-string, eg:
>> "This was 'fake news'".titleize
=> "This Was 'fake News'"
This change fixes this behaviour by extending the look-behind to check for word character apart from an apostrophe.
deserialize with JSON arrayJSON array data was being returned in a stringified form, due to broken deserialization.
This change fixes deserialization behaviour.
Migrator.schema_migrations_table_nameSchemaMigration model was extracted and SchemaMigration.table_name was being used instead in places where Migrator.schema_migrations_table_name was being used previously.
Migrator.schema_migrations_table_name is now deprecated in favour of SchemaMigration.table_name.
reverse_merge/reverse_merge! to AC::ParametersThis change adds the reverse_merge and reverse_merge! methods to ActionController::Parameters, similar to their corresponding Hash methods.
Capybara::RackTest::Driver does not support taking screenshots. If we call
#save_screenshot on Capybara::RackTest::Driver , it will raise an error.
To prevent errors, if a driver in Systems test does not support screenshot, we do not call it after this change.
There were many other great pull requests this week from 20 contributors, including 4 first-timers. Thank you all!
Outside of code changes, we had many more good news this and the previous week.
Until next week!