Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RDoc meets YARD
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masafumi Okura
August 28, 2025
Programming
4
210
RDoc meets YARD
https://rubyassociation.doorkeeper.jp/events/184561
Masafumi Okura
August 28, 2025
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
95
Developing static sites with Ruby
okuramasafumi
1
370
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
370
Reading Rails 1.0 Source Code
okuramasafumi
0
340
Why doesn't Ruby have Boolean class?
okuramasafumi
0
42
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
92
Writing documentation can be fun with plugin system
okuramasafumi
0
240
Alba: Why, How and What's So Interesting
okuramasafumi
0
480
Why did my proposals get rejected?
okuramasafumi
1
840
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
690
CSC307 Lecture 07
javiergs
PRO
1
550
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.3k
ぼくの開発環境2026
yuzneri
0
240
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
Oxlint JS plugins
kazupon
1
970
組織で育むオブザーバビリティ
ryota_hnk
0
180
CSC307 Lecture 08
javiergs
PRO
0
670
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
130
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
360
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
100
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Designing Powerful Visuals for Engaging Learning
tmiket
0
240
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Exploring anti-patterns in Rails
aemeredith
2
250
Marketing to machines
jonoalderson
1
4.6k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
260
Designing Experiences People Love
moore
144
24k
Ethics towards AI in product and experience design
skipperchong
2
200
Abbi's Birthday
coloredviolet
1
4.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Transcript
RDoc meets YARD - RDocͷ YARDղੳػೳͷΈࠐΈ Ruby Association Activity Report
OKURA Masafumi, 2025-08-28
pritty_print(self) • ໊લɿେխ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ׆ಈɿKaigi on RailsʢൃىਓɺνʔϑΦʔΨφΠβʔʣɺOSS׆ಈ ʢAlbaͳͲʣɺొஃʢRubyConfTw
2025, Rails World 2025, Friendly.rbͳͲʣ • ͖ͳϝιουɿ`BasicObject#instance_eval`
RDoc meets YARD
RDoc meets YARD
RDocͱ • Rubyʹඪ४ఴ͞Ε͍ͯΔʢผ్ͷΠϯετʔϧ͕ෆཁͳʣυΩϡϝ ϯςʔγϣϯπʔϧ • HTMLυΩϡϝϯτΛੜ͢Δ`rdoc`ίϚϯυͱίϚϯυϥΠϯ͔Β υΩϡϝϯτΛӾཡ͢Δ`ri`πʔϧΛಉࠝ • Ruby on
RailsͰ࠾༻͞Ε͍ͯΔଞɺRubyຊମͷυΩϡϝϯτRDoc ه๏Ͱॻ͔Ε͍ͯΔ
None
RDoc meets YARD
YARDͱ • gemͷυΩϡϝϯςʔγϣϯͳͲʹ͘ΘΕ͍ͯΔυΩϡϝϯςʔ γϣϯπʔϧ • ඪ४Ͱͳ͍ͷͰผ్Πϯετʔϧ͕ඞཁ • `@param`ͳͲΛͬͨه๏Ͱ͋Γɺಠࣗͷܕهड़Մೳ • RDocύʔε͢Δ͜ͱ͕Ͱ͖Δ
• ݸਓతʹYARDΛ͏͜ͱ͕ଟ͍
None
πʔϧͷஅ
None
2023
ࣗ࡞ υΩϡϝϯςʔ γϣϯπʔϧ
ͦͷ࣌Ͱͷ͓͓͘Βͷߟ͑ • υΩϡϝϯτΛॻ͘ͷָ͘͠ͳ͍ • طଘͷυΩϡϝϯςʔγϣϯπʔϧʹ͕͋Δ • RDocYARDϝϯςφϯεঢ়گ͕ྑ͘ͳ͍ʢ࠷৽ͷRubyͷจ๏ ʹରԠ͠Ε͍ͯͳ͍ͳͲʣ • ৭ʑͱΞΠσΞ͕͋ΔʢRSpec͔ΒυΩϡϝϯτ࡞Εͳ͍ʁͱ͔ʣ
• ৽͍͠υΩϡϝϯςʔγϣϯπʔϧΛ࡞ͬͯશ෦౷߹ͩʂ
Γ͍ͨ͜ͱɿ πʔϧͷ౷߹ͱɺ ػೳͷՃ
2024 RubyKaigi 2024
Stan Lo (st0012) “৽͍͠υΩϡϝϯςʔγϣϯπʔ ϧΛࣗͰ࡞ΔΑΓɺRDocΛϝϯ ςφϯε͢ΕɺͲ͏ͬͯͬͯ Β͏͔Λߟ͑Δඞཁ͕ͳ͘ͳΔ ͠ɺπʔϧ͕৽͘͠૿͑Δ͚ͩʹ ͳΒͳ͍”
https://xkcd.com/927/ CC BY-NC 2.5
…͍
ʮπʔϧͷ౷߹ RDocΛத৺ʹ͠ ͯߦ͓͏ʯ
YARDͱʢ࠶ܝʣ • gemͷυΩϡϝϯςʔγϣϯͳͲʹ͘ΘΕ͍ͯΔυΩϡϝϯςʔ γϣϯπʔϧ • ඪ४Ͱͳ͍ͷͰผ్Πϯετʔϧ͕ඞཁ • `@param`ͳͲΛͬͨه๏Ͱ͋Γɺಠࣗͷܕهड़Մೳ • RDocύʔε͢Δ͜ͱ͕Ͱ͖Δ
• ݸਓతʹYARDΛ͏͜ͱ͕ଟ͍
YARDͰ ͍͍ͷͰʁ
RDoc > YARD
ͳͥRDocͳͷ͔ • ඪ४ఴ͞Ε͍ͯΔͷͰผ్ͷΠϯετʔϧͳͲ͕ෆཁ • RDocͳ͘ͳΔ͜ͱͳ͍ • CRubyͷιʔείʔυͷυΩϡϝϯτΛղऍͰ͖ΔͷRDocͷΈ • YARDͷϝϯςφϯεঢ়گ͕ෆ҆ •
େ͖Ίͷվળ࠷ۙগͳ͍͠ɺϝϯςφϯεجຊݸਓ͕͍ͯ͠ Δ
20249݄ ϓϩδΣΫτ࠾
None
֦ுػೳج൫
ϓϩδΣΫτॳͷߟ͑ • ։ൃऀʹΑͬͯυΩϡϝϯςʔγϣϯπʔϧʹඞཁͱ͢Δػೳҟͳ Δͱ͍͏Ծઆ • ༷ʑͳχʔζʹର֦ͯ͠ுػೳج൫Λ࡞Δ͜ͱͰରԠ • কདྷతʹ༷ʑͳ֦ுػೳΛ࣮͢Δ༧ఆ • YARDܗࣜͷίϝϯτΛυΩϡϝϯτʹม͢Δػೳ֦ுػೳͷ
Ұͭͱ࣮͍ͯͨ͠͠
՝ɿ ֦ுػೳج൫ͷ ΠϯλʔϑΣʔε
https://github.com/ ruby/rdoc/ discussions/1257 Proposal: RDoc extension system ࣌ߟ͍͑ͯͨ͜ͱΛࡶʹॻ͍ͨ σΟεΧογϣϯ
ϝϯλʔͷ ਢ౻͞Μͱ ૬ஊ
֦ுػೳಉ࢜Λ ૄ݁߹ʹ͍ͨ͠
ॳͷΞΠσΞ • RDocຊମ͕֤λΠϛϯάͰΠϕϯτΛൃՐ • ֦ுػೳΠϕϯτΛड͚औΓॲཧΛ͢Δ • PubSubͬΆ͍Έ
https://github.com/ ruby/rdoc/pull/ 1321 Πϕϯτۦಈ֦ுػೳج൫ͷ࣮ɺ ۩ମతͳ֦ுػೳͱͯ͠؆қతͳ YARDύʔαʔ࣮
େࣦഊ
ࢲ͕ͯ͠͠·ࣦͬͨഊ • RDocϝϯςφͷ࣮ࡍͷχʔζݒ೦ʹԠ͍͑ͯͳ͍ • ֦ுػೳج൫ͷίϯηϓτͱ͔͘ɺΠϯλʔϑΣʔεҰܾ ΊΔͱมߋ͕ࠔͳͷͰɺܰʑܾ͘͠ఆͰ͖ͳ͍ • ࣮ࡍͷ֦ுػೳΛઌʹ࡞͔ͬͯͦ͜ΒΠϯλʔϑΣʔεΛܾΊ͍ͨ • ͷલͷΛղܾͰ͖ͳ͍
• ֦ுػೳج൫ԕճΓʹͳΔ
Ͳ͏͢ΕΑ͔͔ͬͨ • ઌʹYARDରԠΛ୯ମͰΔ͖ͩͬͨ • ͔ͦ͜ΒݟΛநग़Ͱ͖Δ • ͬͱૣΊʹಈ͖ͩͬͨ͘ • ؾ͍ͮͨͱ͖ʹ2025ͷ3݄ •
ϓϩδΣΫτ΄΅ऴΘΓͷ࣌ظ
None
20254݄
RDocͷϝϯςφ ͱ૬ஊ͢Δ
RubyKaigi 2025 ίʔυ࠙ձ
@ktou @st0012 @vinistock
͜ͷͱ͖ͨ͜͠ͱ • ֦ுػೳج൫Ͳ͏͢Δʁ • YARDରԠΛͲ͏ਐΊΔʁ
https://github.com/ ruby/rdoc/issues/ 1344 վΊͯRDocͱͯ͠΄͍͠ͷΛ· ͱΊͨ͠issue
͜ͷissueͰܾ·ͬͨํ • ֦ுػೳج൫Ұ୴์غ͢Δ • ·͍͔ͣͭ͘ͷYARDλάΛઌߦ࣮ͯ͢͠Δ • ΓͷλάઌʹRDocଆͷػೳΛՃ͢Δඞཁ͕͋ΔͨΊ • ܕʹؔͯ͠RBSͷαϙʔτΛ༏ઌ͢Δ •
YARDͷಠࣗه๏αϙʔτ͞Εͳ͍Մೳੑ͋Δ
YARD࣮ͷํ • rdoc gemyard gemʹґଘͰ͖ͳ͍ • YARDλάͷύʔεखॻ͖ • RDocʹtomdocͱ͍͏ϑΥʔϚοτΛαϙʔτ͢ΔͨΊͷΈ͕ ͋ΔͷͰɺྲྀ༻Ͱ͖Δ͔
2025-08-26
https://github.com/ ruby/rdoc/pull/ 1416 `@yield`, `@private`, `@api private`Λ ࣮͠ɺRDocͷಉػೳͰ͋Δ͔ ͷΑ͏ʹৼΔ͏Α͏ʹͨ͠ ֦ுੑಛஈߟྀͤͣɺҰ൪͍࣮
Λબ CI͕௨ͬͨʢࠓʣ
ࠓޙͷ՝ͱ Γ͍ͨ͜ͱ
RDocͰΓ͍ͨ͜ͱ • YARDରԠΛͤ͞Δ • yard gemΛΘͳ͍ͰYARDܗࣜͷίϝϯτ͔ΒHTMLυΩϡϝϯ τΛੜͰ͖Δঢ়ଶʹ͢Δ • ଞͷυΩϡϝϯςʔγϣϯπʔϧ͔Βྑ͍ॴΛநग़͢Δ •
Sphinx, TypeDoc, RustDoc, Docusaurus, etc. • ಛʹdoctestRubyίϛϡχςΟʹड͚ೖΕΒΕΔͷ͔ڵຯ͋Γ
None
ಛʹClaude Code ʢ20254݄ʣ
ΕΔ͜ͱ͕ ૿͑ͨ…ʁ
ੜAI͕ॿ͚ʹͳΓͦ͏ͳ͜ͱ • ཏతͳςετεΠʔτͷ࡞ • ෳࡶͳطଘίʔυͷಡղิॿ • ଞͷπʔϧͷௐࠪ
ँࣙ
ϝϯλʔͷਢ౻͞Μ RubyΞιγΤʔγϣϯͷօ༷
͋Γ͕ͱ͏͍͟͝ ·ͨ͠ʂʂʂʂʂ
ࠓޙRDocʹ औΓΜͰ ͍͖·͢