Before Ruby 2.6, if we want to know file name with location and line number of source code, we would need to use Binding#eval (Link is not available) .
1binding.eval('[__FILE__, __LINE__]') 2=> ["/Users/taha/blog/app/controllers/application_controller", 2]
Ruby 2.6 adds more readable method Binding#source_location (Link is not available) to achieve similar result.
1binding.source_location 2=> ["/Users/taha/blog/app/controllers/application_controller", 2]
Here is relevant commit and discussion for this change.
The Chinese version of this blog is available here.