2011-09-01 25 views
8

Tôi không chắc liệu điều này có thực sự có thể hay không nhưng tôi đang cố gắng làm cho tài liệu của ứng dụng đường ray hoàn chỉnh hơn bằng cách thêm tài liệu cho phạm vi trong các tệp app/models của chúng tôi. Những gì tôi đang tìm cách để thử và làm là:Thêm tài liệu cho phạm vi mô hình trong đường ray

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

Và sau đó khi tôi chạy rdoc qua ứng dụng tôi muốn để xem newest_records liệt kê như là một phương pháp public class cùng với các phương pháp truyền thống mà sẽ được ghi nhận như:

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

EDIT

tôi nhận ra câu hỏi này có thể là một chút mơ hồ. Vì vậy, đây là một nỗ lực để làm rõ: Hiện nay khi tôi cố gắng để thêm một dòng bình luận trên một tuyên bố scope tôi nhận được NO tài liệu được tạo ra bởi RDoc cho phạm vi. Tôi biết RDoc có thể nhận các phương thức meta/thuộc tính nếu không nó sẽ không hiển thị các thuộc tính trong các tài liệu được khai báo với attr_accessor. Vì vậy, câu hỏi của tôi là làm thế nào để tôi thêm ý kiến ​​để tập tin của tôi để:

  • Phương pháp này xuất hiện trong rdoc tôi tạo ra tài liệu
  • Có vẻ như một phương pháp public class (như trái ngược với phương pháp dụ công cộng vv)
+0

những gì chính xác là câu hỏi, là nó không có khả năng Thêm docu ... 'hoặc 'lỗi thêm docu ...' vv Tôi chỉ không chắc chắn. Hiện bình luận không hiển thị khi được thử? Rdoc có hiển thị nó không? Rất vui được trợ giúp, không chắc chính xác câu hỏi là gì. –

+0

@Michael Durrant - Tốt. Ngày đọc thứ hai câu hỏi của tôi không phải là rất tốt worded. Sẽ chỉnh sửa để làm cho rõ ràng hơn. –

Trả lời

5

Sau khi đào sâu một số tài liệu trong RDoc, tôi nghĩ rằng tôi đã xoay sở để trả lời câu hỏi của riêng mình.

Bạn có thể ghi lại một phạm vi như sau:

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

Các băm kép được sử dụng để lấy phương pháp meta-lập trình, và nếu bạn đang tạo một phương pháp dụ thì đó là tất cả các bạn cần. Tuy nhiên khi phạm vi tạo ra một phương thức lớp, bạn cũng cần sử dụng dòng: singleton-method: để chỉ ra điều đó. Tài liệu tiếp tục như bình thường trên các dòng sau.

Bạn có thể xem cú pháp đầy đủ cho tài liệu meta-phương pháp vv trong RDoc Documentation

1

Phạm vi là các phương pháp lớp, vì vậy Rdoc đang làm đúng. Tôi sẽ nói đó là làm việc như xa như Rdoc biết.

Bạn có thể có quyền kiểm soát tốt hơn bằng cách sử dụng thứ gì đó có thể mở rộng hơn như YARD.

+0

Cảm ơn đề nghị Robert. Đã thấy YARD tạo tài liệu - chúng trông khá đẹp nên có thể xem xét việc sử dụng tài liệu đó trong tương lai –

Các vấn đề liên quan