최근에 일련의 커밋이 발생한 후 백엔드 프로세스가 실행되지 않는 문제가있었습니다. 이제 우리는 좋은 작은 소년과 소녀 였고 rake test
체크인 할 때마다 달렸 지만 Rails의 라이브러리 로딩에 약간의 이상이 있었기 때문에 프로덕션 모드에서 Mongrel에서 직접 실행할 때만 발생했습니다.
버그를 추적했으며 런타임 Rails 코드에서 좁은 사용을 중단하는 방식으로 String 클래스의 메소드를 덮어 쓰는 새로운 Rails gem으로 인한 것입니다.
어쨌든, 간단히 말해서, 런타임에 메소드가 정의 된 위치를 Ruby에 물어볼 수있는 방법이 있습니까? 그런 식으로 뭔가 whereami( :foo )
를 반환 /path/to/some/file.rb line #45
합니까? 이 경우 String 클래스에 정의되었다고 말하면 일부 라이브러리에 의해 오버로드 되었기 때문에 도움이되지 않습니다.
나는 프로젝트에서 소스의 수명을 보장 할 수 없으므로 grepping을 위해 'def foo'
필자가 필요한 것을 줄 필요는 없으며, 많은 것을 가지고 있는지 언급 def foo
하지 않고 때로는 런타임 중 어느 것을 사용하고 있는지 알 수 없습니다.