2012-06-14 2 views
2

Thor를 사용하기 위해 작은 프로젝트를 변환 중이며 다소 편파적입니다. 기본 제공 도움말을 사용하여 사용 가능한 작업을 문서화하려고합니다. 그러나 인수를 사용하여 작업을 정의하면 작업 수준 도움말이 해당 클래스의 도움말로 되돌아갑니다. 즉, 작업 설명이나 예상 매개 변수의 세부 정보가 표시되지 않습니다.토르 (Thor) : 토르 태스크가 인수를 정의했을 때 도움을 표시하려면 어떻게해야합니까?

는 나는 내가 인수로 호출 할 수있는 방법을 가질 수 있고 싶지 나는 다음과 같은 thorfile있는 아래로 문제를 삶은했습니다가이

$ thor broke:foo hello 
in a.thor broke:foo arg1=hello 

처럼 사용할 수 있도록 매개 변수 깨진 도움말 출력을 제외하고는 원하는대로 작동합니다. 다른 매개 변수는 문제에 아무런 영향을주지 않으므로 제거했습니다. 첫 번째 작업의 확인 : foo는 일반적으로 도움말을 표시합니다, 두 번째 작업은 파산 : 확인을 위해 도움을 요청

class Ok < Thor 
    desc "foo", "ok test2" 
    def foo 
     puts "in a.thor ok:foo\n" 
    end 
end 
class Broke < Thor 
    argument :arg1, :type=>:string, :desc => "arg1" 
    desc "foo", "broke test1" 
    def foo 
     puts "in a.thor broke:foo arg1=#{self.arg1}\n" 
    end 
end 

: 요청 도움을

$ thor help ok:foo 
    Usage: 
     thor ok:foo 

    ok test 

: foo는 작업 방법을 제공 foo는 오히려 덜 유용 파산에 대한 : foo는 작업보다는 덜 도움이된다 :

$ thor help broke:foo 
    Tasks: 
     thor broke:foo ARG1   # broke test1 
     thor broke:help ARG1 [TASK] # Describe available tasks or one specific task 

어떻게 인수를 정의하고 적절한 작업 도움말 표시를받을 수 있나요?

+0

, 나는 그것이 토르의 실제 버그 생각합니다. 오늘 무슨 일이 일어나고 있는지 알아 내려고 노력하면서 시간을 보냈습니다. 그리고 무슨 일이 일어나고 있는지 파악할 수있었습니다. 나는 실패한 테스트와 문제에 대한 설명으로 토르 (Thor)에 버그를 제출했습니다. 문제의 설명을 시도하고 수정할 수 없는지 알게 될 것입니다. – workergnome

답변

0

당신은 thorfile에서 약간의 실수가 있습니다.

method_option 대신이 입니다.

여기에 올바른 버전 : 나는 당신이 뭘 하려는지에서이 문제를 생각하지 않습니다

class Ok < Thor 
    desc "foo", "ok test2" 
    def foo 
     puts "in a.thor ok:foo\n" 
    end 
end 
class Broke < Thor 
    method_option :arg1, :type=>:string, :desc => "arg1" 
    desc "foo", "broke test1" 
    def foo 
     puts "in a.thor broke:foo arg1=#{self.arg1}\n" 
    end 
end 

Wiki about method_option on github.com

+0

미안하지만 그건 실수가 아니야 - 매개 변수가 아닌 매개 변수를 요구하는 메서드를 원한다. - 명확하게 질문을 업데이트했다. – cleverchimp

관련 문제