2012-11-21 2 views
0

내가 공통 모듈을 포함 레이크 파일의 번호가 포함 사용하는 10.0.1에 파산 :레이크 스크립트는 레이크 :: DSL

include RakeCommon 

:

require 'rake' 

module RakeCommon 
    include Rake::DSL 
    task :clean do 

그리고 레이크 파일에

문제는 레이크 10.0.1로 업데이트 한 후 다음과 같은 오류가 발생합니다.

+0

'include' 대신'extend'을 사용해서는 안됩니까? Rake :: DSL은 클래스 메서드가 아닌 인스턴스 메서드로 사용할 수있는 이러한 메서드를 가지고있는 것으로 보입니다. – samuil

답변

1

그냥 코멘트에 명시된 바와 같지만 체크 만하면됩니다.

모듈에 include 대신 extend을 사용해야합니다. Rake::DSL 모듈이 Object까지 확장되었으므로 코드가 일찍 작동했습니다. 사용하고 있던 방법은 적절하게 포함하거나 확장 한 경우에도 모듈에서 사용할 수있었습니다. 10.0 브랜치에서는 일부 비추천이 삭제 되었기 때문에 작동하지 않습니다.

관련 문제