Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
290
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RDoc meets YARD
https://rubyassociation.doorkeeper.jp/events/184561
Masafumi Okura
August 28, 2025
More Decks by Masafumi Okura
See All by Masafumi Okura
Ruby for complete beginners
okuramasafumi
1
280
Conference as a communication hub for all of us
okuramasafumi
0
180
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
190
Developing static sites with Ruby
okuramasafumi
1
480
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
430
Reading Rails 1.0 Source Code
okuramasafumi
0
400
Why doesn't Ruby have Boolean class?
okuramasafumi
0
83
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
120
Writing documentation can be fun with plugin system
okuramasafumi
0
290
Other Decks in Programming
See All in Programming
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
1
680
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
4
370
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.4k
一人だけ、Kiroが静止する日
hideg
0
140
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
510
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
3.1k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
100
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
600
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
240
Building an army of robots
kneath
307
47k
WCS-LA-2024
lcolladotor
0
840
A better future with KSS
kneath
240
18k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
BBQ
matthewcrist
89
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Embracing the Ebb and Flow
colly
88
5.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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ʹ औΓΜͰ ͍͖·͢