2011-01-10 3 views
10

최근에 Rails 2에서 Rails 3로 업그레이드했고, 사용하지 않는 모든 코드를 근절하기 위해 노력하고 있습니다. 필자가 수행하는 방식은 개발 컴퓨터에서 실행되는 내 사이트의 복사본을 서핑하는 것 뿐이며 경고 콘솔의 출력을 보며 들립니다.Ruby on Rails : 사용 중단 경고를 오류로 간주하거나 그렇지 않으면 사용되지 않는 코드를 찾으십니까?

레일스가 지원 중단 경고를 오류로 처리하거나 더 이상 사용되지 않는 코드를보다 효율적으로 찾으려면 방법이 있습니까?

답변

11

ActiveSupport::Deprecation.behavior으로 비추천 통화 동작을 사용자 정의 할 수 있습니다. 예 : 메시지 및 호출 스택을 허용하는 Proc으로 설정해야합니다. 당신은 할 수있다 :

ActiveSupport::Deprecation.behavior = Proc.new { |message, callstack| 
    raise message + "\n" + callstack.join("\n ") 
} 

당신의 app을위한 자동화 된 테스트를 가지고 있다면, 이것들은 사용되는 레일 버전을 업그레이드 할 때 매우 중요하다.

+0

여기서'Proc'는 어디에 위치해야합니까? –

+1

@ Iván이 파일을'config/initializers' 파일에 넣을 수 있습니다. 'deprecation.rb'. 더 최근 버전의 Rails에서, 사용 중지 된 호출에 대한 예외를 발생 시키려면'ActiveSupport :: Deprecation.behavior = : raise'를 사용할 수 있고'Proc'를 직접 작성할 필요는 없습니다. – mikej

+0

매우 명확합니다. 특히 RoR 5를 사용하고 있기 때문에 더욱 그렇습니다. Thanks @mikej –