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
A suggestion for the future of RDoc
Search
Masafumi Okura
October 05, 2024
Technology
670
1
Share
A suggestion for the future of RDoc
https://matsue.rubyist.net/matrk11/
での発表資料です。
Masafumi Okura
October 05, 2024
More Decks by Masafumi Okura
See All by Masafumi Okura
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
140
Developing static sites with Ruby
okuramasafumi
1
420
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
390
Reading Rails 1.0 Source Code
okuramasafumi
0
360
RDoc meets YARD
okuramasafumi
4
230
Why doesn't Ruby have Boolean class?
okuramasafumi
0
48
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
110
Writing documentation can be fun with plugin system
okuramasafumi
0
260
Alba: Why, How and What's So Interesting
okuramasafumi
0
510
Other Decks in Technology
See All in Technology
AI時代のガードレールとしてのAPIガバナンス
nagix
0
300
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
78k
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
1.4k
Route 53 Global Resolver で高額課金発生!
otanikohei2023
0
110
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
2
210
Choose your own adventure in agentic design patterns
glaforge
0
150
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
4
1.8k
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
170
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
460
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
420
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
12
4.7k
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
2
2.7k
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
320
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
220
Scaling GitHub
holman
464
140k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
We Have a Design System, Now What?
morganepeng
55
8.1k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
WENDY [Excerpt]
tessaabrams
10
37k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
RDocͷվળҊΛͻͨ͢Β͠Ό Δ͚ͩ দߐRubyձٞ11 2024-10-05, OKURA Masafumi
RDocͷվળҊΛͻͨ͢Β͠Ό Δ͚ͩ RDocͷ՝ཧ দߐRubyձٞ11 2024-10-05, OKURA Masafumi
Dev.introduce self • ໊લɿେխ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsνʔϑΦʔΨφΠβʔɺ”OH!
MY RUBYISTS” ϙουΩϟετओ࠻ɺAlba࡞ऀͳͲ • দߐͱࢲɿদߐʹདྷΔͷ3ճʢ2019, 2023ʣɺ12݄ʹদߐʹདྷ ·͢
None
None
None
RDoc
“RDoc produces HTML and command-line documentation for Ruby projects. RDoc
includes the rdoc and ri tools for generating and displaying documentation from the command-line.”
ʮRDocRubyϓϩδΣΫτ͚ͷ HTML/ίϚϯυϥΠϯυΩϡϝϯτΛ ੜ͠·͢ɻRDocʹίϚϯυϥΠ ϯ͔ΒυΩϡϝϯτΛੜɾදࣔ͢Δ rdocͱriπʔϧؚ͕·Ε͍ͯ·͢ɻʯ ༁
ʲॏཁʳ RDoc3.3ܥͰ default gem
RDocඪ४Ͱ ͑Δݱ࣌Ͱ །Ұͷ υΩϡϝϯτπʔϧ
ʲॏཁʳ RDoc ࣺͯΒΕͳ͍
RubyͷCίʔυ RDocͰύʔε ͢Δඞཁ͕͋Δ
RDocΛ վળ͢Δඞཁ ͕͋Δ
YARDʁ
ͦΕͦΕ ϝϯςφϯεঢ়گͦ͜·Ͱྑ͘ͳ͍
RDocͱΘͨ͠
Back to 2020…
Albaͷ։ൃ
Rubyͱͯ շదͰָ͍͠
YARD
None
ָ͘͠ͳ͍
ͬͱྑ͍ํ๏͕ ͋ΔͷͰʁ
2023
Niwa
New Integrated Working Annotations
New Integrated Working Annotations
֤छπʔϧͱ υΩϡϝϯτͷ ౷߹
ྫ͑ܕ
ʮRBS͕͋Δͷʹ ͳΜͰYARDͷܕ Λॻ͍͍ͯΔʁʯ
RubyKaigi 2024 Day3
όʔʹͯ
Stan Lo
ʮͳΜ͔υΩϡϝϯτͷ͜ ͱͬͯΔΈ͍͚ͨͩͲɺ Ͳ͏ͤͳΒRDocͬͨ΄͏ ͕ϢʔβʔʹӨڹΛ༩͑Β ΕΔΑʯ
ࣗʮͦ͏͔ʯ
RDocͷ՝
RDocͷ՝ • ܕγεςϜʢͱ͍͏͔rbs-inlineʣͱͷ౷߹ • σΟϨΫςΟϒ͕ͯ͘͠දݱྗ͕͍ • YARDͷλά͕͍͍ͨ • ֦ுੑ͕͍ •
ྫ͑LSP͔Β৮Γ͍ͨͱ͖ʹͲ͏͢Δʁ
ܕγεςϜͱͷ ౷߹
rbs-inline
RDocʹͱͬͯ ݱঢ়ͨͩͷจࣈྻ
https://github.com/soutaro/rbs-inline/issues/8
“1. Supporting some YARD syntaxes that can easily be used
for type de fi nition, like @param and @return 2. Providing a YARD plugin to support converting @rbs methods for documentation generation”
rbs-inline YARD
rbs-inline RDoc
σΟϨΫςΟϒ ͱ λά
σΟϨΫςΟϒ ͱ
:nodoc:
σΟϨΫςΟϒ RDocͷڍಈΛ ੍ޚ͢Δ
λάͱ
@param @return @since
RDocʹ λά͕ͳ͍
σΟϨΫςΟϒ ݸผͷίʔυͷ Ξϊςʔγϣϯʹ ͔ͳ͍ ※ݸਓͷݟղͰ͢
λά΄͍͠ʂ
ͱ͍͏͔ YARDه๏͕ ΄͍͠ʂ
ͦͦࣗͨͪͷ ϓϩμΫτYARDͰ ίϝϯτΛॻ͍͍ͯΔ
RDoc͕YARDΛ ཧղ͢Ε Α͍ͷͰʁ
RDocͷ֦ுੑ
ྫ͑RDocʹ ύʔαʔΛՃ ͍ͨ͠
None
͍͠
υΩϡϝϯτԽ ͞Εͯͳ͍ ʢRDocͳͷʹʣ
ύʔαʔ ͚ͩ͡Όͳ͍
৭ʑͳͷͨͪ ͱ࿈ܞ͍ͨ͠
৭ʑͳͷͨͪ ʹΑ֦ͬͯுͰ͖ ΔΑ͏ʹ͍ͨ͠
ʮϓϥάΠϯʯ తͳAPI͕΄͍͠
ύʔαʔͷՃ ʢYARDͳͲʣ
ίʔυ ΦϒδΣΫτͷ ֦ு
ग़ྗઌͷ Ճ ʢLSPͳͲʣ
https://github.com/ruby/rdoc/issues/1178
·ͱΊɿ ϑϨʔϜϫʔΫ ͱͯ͠ͷRDoc
υΩϡϝϯτͷ ཁٻ૿େ ͍ͯ͠Δ
ʲ͓·͚ʳ AI knows what, but not why
ʲ͓·͚ʳ ίʔυͷഎܠ ਓ͕ؒॻ͔͘͠ͳ͍
RDoc
།Ұͷެࣜ υΩϡϝϯτ πʔϧ
ͯ͜ೖΕ͍ͨ͠
՝ݱʹ ΑͬͯҟͳΔ
ҟͳΔݱʹҟͳΔ՝ • Rails APIΛ࡞͍ͬͯΔνʔϜ • ͔ͤͬ͘υΩϡϝϯτΛ࡞ͬͯϝϯς͞Εͳ͍ • Gem࡞ऀ • ܕఆٛͱυΩϡϝϯτΛ౷߹͍ͨ͠
• Rubyݴޠ։ൃऀ • ݶΒΕͨίϝϯτεϖʔεΛ༗ޮར༻͍ͨ͠ʢʁʣ
ҟͳΔ՝ʹҟͳΔղܾࡦ • ͔ͤͬ͘υΩϡϝϯτΛ࡞ͬͯϝϯς͞Εͳ͍ • ྫ͑ࣗࣾͷطଘυΩϡϝϯτͱ౷߹͢ΔͨΊͷRDocϓϥάΠϯ • RSpecͷ༰Λύʔεͯ͠υΩϡϝϯτԽ͢ΔRDocϓϥάΠϯ • ܕఆٛͱυΩϡϝϯτΛ౷߹͍ͨ͠ •
.rbsϑΝΠϧʹॻ͔Εͨ༰ΛύʔεͰ͖ΔRDocϓϥάΠϯ • ݶΒΕͨίϝϯτεϖʔεΛ༗ޮར༻͍ͨ͠ʢʁʣ • ঢ়گʹ߹ΘͤͯϓϥάΠϯΛ͚ସ͑Δʢʁʣ
࠷ऴඪɿ
υΩϡϝϯτ ָ͘͠ॻ͚Δ Α͏ʹͳΔ
ͨͷ͍͠RDoc