Understanding Ruby 3.0's Keyword Argument Separation and How to Migrate Safely
Ruby 3.0 stopped treating a trailing hash as keyword arguments automatically. Learn why the change was made, how it affects calls, and practical steps to update your code while keeping backward compatibility.