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
110
Developing static sites with Ruby
okuramasafumi
1
380
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
43
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
93
Writing documentation can be fun with plugin system
okuramasafumi
0
250
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
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
190
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Package Management Learnings from Homebrew
mikemcquaid
0
240
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
200
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
320
高速開発のためのコード整理術
sutetotanuki
1
420
NetBSD+Raspberry Piで 本物のPSGを鳴らすデモを OSC駆動の7日間で作った話 / OSC2026Osaka
tsutsui
1
110
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
290
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2.1k
CSC307 Lecture 09
javiergs
PRO
1
840
Python’s True Superpower
hynek
0
160
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
840
Building Applications with DynamoDB
mza
96
6.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Become a Pro
speakerdeck
PRO
31
5.8k
Writing Fast Ruby
sferik
630
62k
Balancing Empowerment & Direction
lara
5
900
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
280
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
190
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ʹ औΓΜͰ ͍͖·͢