2011-09-01 4 views
8

이것이 실제로 가능한지 확실하지 않지만 우리의 app/models 파일에 범위에 대한 문서를 추가하여 레일스 애플리케이션의 문서를보다 완벽하게 만들려고합니다. 내가 시도 할 찾고 있어요 것은 :모델 스코프의 레일에 문서 추가하기

# This is a description of what the scope does and the action that it performs 
scope :newest_records, order("created_at desc").limit(50) 

내가 응용 프로그램을 통해 rdoc을 실행할 때 나는 문서화 얻을 것이다 더 전통적인 방법과 함께 public 클래스의 방법으로 나열 newest_records을 볼 수 원하는 같은 :

# some more documentation about this method 
def self.a_class method 
    .... 
end 

편집

이 질문이 좀 모호 할 수 있습니다 알고 있습니다. 따라서 여기에 명확한 시도가 있습니다. 현재 scope 선언 위에 주석 행을 추가하려고 할 때 범위에 대한 RDoc에 의해 생성 된 문서가 없습니다. 나는 RDOC이 메타 메소드/속성을 선택할 수 있다는 것을 알고있다. 그렇지 않으면 attr_accessor으로 선언 된 문서에 속성을 표시하지 않을 것이다. 그래서 제 질문은 내가 수 있도록 내 파일에 주석을 추가 할 방법입니다 방법은 내 RDoc 생성 된 문서 (공공 인스턴스 메소드 등 반대) 그것은 공용 클래스의 방법으로 표시

  • 에 나타납니다

  • +0

    에 등 메타 방법을 문서화하기위한 전체 구문을 볼 수 있습니다, 그것은 '다큐를 추가 할 수 없습니다 ...'또는 '오류 추가 다큐 ...'등이다 나는 잘 모르겠다. 시도 할 때 현재 댓글이 표시되지 않습니까? rdoc에 표시됩니까? 도와 주시겠습니까? 질문이 무엇인지 정확히 모릅니다. –

    +0

    @Michael Durrant - 좋은 지적. 제 2의 독서에서 나의 질문은 매우 잘 말을하지 않고있다. 더 명확하게 편집 할 것입니다. –

    답변

    5

    RDoc Docs를 파고 들자 나는 내 자신의 질문에 대답 할 수 있었다고 생각한다.

    ## 
    # :singleton-method: 
    # Documentation for the scope to explain what it does 
    scope :newest_records, order("created_at desc").limit(50) 
    

    이중 해시 메타 프로그래밍 방법을 선택하는 데 사용됩니다, 당신은 인스턴스 메서드를 만드는 경우 그는 당신이 필요로하는 모든입니다 다음과 같이

    당신은 범위를 문서화 할 수 있습니다. 그러나 범위가 클래스 메서드를 만들 때 : singleton-method : 줄을 사용해야합니다. 문서는 다음 줄에서 정상적으로 계속됩니다.

    당신은 정확히 문제가 무엇인지 RDoc Documentation

    1

    범위는 클래스 메서드이므로 Rdoc에서 올바르게 처리합니다. Rdoc이 알고있는 한 그것이 작동하고 있다고 말할 수 있습니다.

    야드처럼 더 확장 가능한 것을 사용하면 잘 제어 할 수 있습니다.

    +0

    제안에 감사드립니다. Robert. YARD가 문서를 생성 한 것을 보았습니다. –

    관련 문제