2015-04-22 14 views
30

Tôi muốn bao gồm thông tin về các nhiệm vụ Rake trong ứng dụng Rails của chúng tôi. Chúng tôi sử dụng YARD để xem tài liệu và tại thời điểm các trang như lib/tasks/development.rake hiển thị theo mặc định dưới dạng văn bản chưa được định dạng.Làm cách nào để ghi lại các tác vụ của Rake với YARD?

Tôi có thể làm cho chúng hiển thị dưới dạng mã nguồn Ruby bằng cách sử dụng # @markup rubyfrom the YARD documentation.

Tuy nhiên, điều này chỉ hiển thị bất kỳ nhận xét nội dòng nào, ngay cả khi chúng bao gồm chỉ thị YARD như # @!method foo. Điều này có nghĩa là the YARD documentation on tagging DSLs dường như không áp dụng được.

Tôi có thiếu gì đó không?

Làm cách nào để YARD nhận ra mã so với tài liệu trong các tệp .rake?

N.B. Tôi sẽ hài lòng với giải pháp bỏ qua mã thực và chỉ tạo bản sao tài liệu, nhưng nguồn cho bản sao tài liệu phải là chính tệp .rake - Tôi không muốn tài liệu sống trong một tệp riêng biệt .markdown (hoặc bất kỳ) nào có quá nhiều cơ hội bị mất đồng bộ. Thông tin

More - lệnh yard:

Tôi đang sử dụng một tập tin .yardopts chứa sau:

--asset graphs 'app/**/*.rb' 'lib/**/*.rb' - README info/* 

Để có được YARD để đọc các nhiệm vụ Rake tôi có thể thêm 'lib/tasks/*.rake'sau sự dấu nối (tức là thêm các tệp Rake vào danh sách 'Tệp' của YARD), nhưng như đã lưu ý ở trên, điều này không xử lý chúng một cách chính xác.

Theo đề nghị của Benjamin dưới đây, tôi đã cố gắng thêm 'lib/tasks/*.rake'trước các dấu gạch ngang (ví dụ: thêm các tập tin Rake vào danh sách các file của Ruby thường xuyên để được xử lý), nhưng điều này dường như không tạo ra bất cứ điều gì cả. Có thể YARD đang tạo ra thứ gì đó nhưng không ở vị trí mong đợi/với tên tệp dự kiến ​​mà tôi cho là, tôi không quen thuộc với cách YARD làm việc để tìm hiểu xem có đầu ra mồ côi ở đâu đó không. Chắc chắn không có gì phù hợp trong tìm kiếm mà YARD tạo ra và một đơn giản find doc | grep rake hoặc find doc | grep basename_of_rake_file không hiển thị bất kỳ thứ gì.

+0

Đây có phải là vấn đề khiến Yard nhận ra các tệp '* .rake' là ruby ​​không? – ipd

+0

Tôi e rằng tôi đã không xem xét điều này nhiều lắm kể từ khi hỏi, nhưng tôi cho rằng thực chất là vậy. Tuy nhiên, trên thực tế _specifying_ rằng chúng là Ruby với chỉ thị '# @markup ruby' không hoạt động vì nó _only_ ám chỉ Ruby, tức là nó không còn xử lý các chú thích tài liệu – Leo

+0

@Leo, không xác định phần mở rộng của lệnh cào trên trợ giúp dòng lệnh? _yardoc * .rake -o out/_? – benjamin

Trả lời

1

Từ YARD tài liệu:

Trong Hướng dẫn Bắt đầu với YARD phần dưới Sử dụng YARD để Tạo Tài liệu, hãy kiểm tra Tư liệu thêm tập tin hoặc Thêm Meta-Data để thêm tập tin. Nó sẽ giúp.

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