One thing you can do is use a gem like byebug, put a breakpoint above the code you want to find it's location and use this:
method(:name_of_method).source_location if you put a breakpoint inside your routes.rb and call: method(:get).source_location it returns something like: ...../gems/actionpack-6.0.2.2/lib/action_dispatch/routing/mapper.rb, 711 Than you can check the source on github https://github.com/rails/rails/blob/v6.0.2.2/actionpack/lib/action_dispatch/routing/mapper.rb#L711 It doesn't always work, you can have methods generated on the fly using define_method for example I'm not sure source_location gives you the right source there. El sáb., 21 mar. 2020 a las 17:36, Ilya Makedon (< engineer.plusp...@gmail.com>) escribió: > San Ji, thank for your answer. But how does Ruby runtime know which > function to call? There must be a way for human to mimic that... Right? > > On Sat, Mar 21, 2020 at 10:35 AM San Ji <sarun...@gmail.com> wrote: > >> To my knowledge, what you are looking for is not possible for Ruby. >> >> What you got in RubyMine is the closest, basically it index all words and >> apply some language heuristics to scope down choices. This is good enough >> in most cases. >> >> Systematic way to do it is impossible because Ruby supports >> metaprogramming. >> Take ActiveRecord as an example, you got attribute-related methods that >> defines in databases, not even in Ruby code. If you connect to different >> databases, the method definitions will be different. Nothing can even point >> that out (represent that) properly, at least not with user interface of an >> IDE. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Talk" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to rubyonrails-talk+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rubyonrails-talk/63fd8953-f3a8-47a9-a931-17dd2eb3cce4%40googlegroups.com >> . >> > > > -- > -------------------------- > - Ilya Makedon > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-talk+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rubyonrails-talk/CAOJppg6O0txtYvKgXzEVaeNqM_%3D5Czofe-4vQZZCi-uYHFTaBA%40mail.gmail.com > <https://groups.google.com/d/msgid/rubyonrails-talk/CAOJppg6O0txtYvKgXzEVaeNqM_%3D5Czofe-4vQZZCi-uYHFTaBA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAPS3bcBXi0BiPo%2BkB7nT8QdNP2orFYcg0oM95pQBDYodyUtQpA%40mail.gmail.com.