Slide 1

Slide 1 text

RDocͷվળҊΛͻͨ͢Β͠Ό ΂Δ͚ͩ দߐRubyձٞ11 2024-10-05, OKURA Masafumi

Slide 2

Slide 2 text

RDocͷվળҊΛͻͨ͢Β͠Ό ΂Δ͚ͩ RDocͷ՝୊੔ཧ দߐRubyձٞ11 2024-10-05, OKURA Masafumi

Slide 3

Slide 3 text

Dev.introduce self • ໊લɿେ૔խ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsνʔϑΦʔΨφΠβʔɺ”OH! MY RUBYISTS” ϙουΩϟετओ࠻ɺAlba࡞ऀͳͲ • দߐͱࢲɿদߐʹདྷΔͷ͸3ճ໨ʢ2019, 2023ʣɺ12݄ʹ΋দߐʹདྷ ·͢

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

RDoc

Slide 8

Slide 8 text

“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.”

Slide 9

Slide 9 text

ʮRDoc͸RubyϓϩδΣΫτ޲͚ͷ HTML/ίϚϯυϥΠϯυΩϡϝϯτΛ ੜ੒͠·͢ɻRDocʹ͸ίϚϯυϥΠ ϯ͔ΒυΩϡϝϯτΛੜ੒ɾදࣔ͢Δ rdocͱriπʔϧؚ͕·Ε͍ͯ·͢ɻʯ ੿༁

Slide 10

Slide 10 text

ʲॏཁʳ RDoc͸3.3ܥͰ͸ default gem

Slide 11

Slide 11 text

RDoc͸ඪ४Ͱ ࢖͑Δݱ࣌఺Ͱ །Ұͷ υΩϡϝϯτπʔϧ

Slide 12

Slide 12 text

ʲॏཁʳ RDoc͸ ࣺͯΒΕͳ͍

Slide 13

Slide 13 text

RubyͷCίʔυ͸ RDocͰύʔε ͢Δඞཁ͕͋Δ

Slide 14

Slide 14 text

RDocΛ վળ͢Δඞཁ ͕͋Δ

Slide 15

Slide 15 text

YARD͸ʁ

Slide 16

Slide 16 text

ͦΕ͸ͦΕ ϝϯςφϯεঢ়گ΋ͦ͜·Ͱྑ͘ͳ͍

Slide 17

Slide 17 text

RDocͱΘͨ͠

Slide 18

Slide 18 text

Back to 2020…

Slide 19

Slide 19 text

Albaͷ։ൃ

Slide 20

Slide 20 text

Ruby͸ͱͯ΋ շదͰָ͍͠

Slide 21

Slide 21 text

YARD

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

ָ͘͠ͳ͍

Slide 24

Slide 24 text

΋ͬͱྑ͍ํ๏͕ ͋ΔͷͰ͸ʁ

Slide 25

Slide 25 text

2023

Slide 26

Slide 26 text

Niwa

Slide 27

Slide 27 text

New Integrated Working Annotations

Slide 28

Slide 28 text

New Integrated Working Annotations

Slide 29

Slide 29 text

֤छπʔϧͱ υΩϡϝϯτͷ ౷߹

Slide 30

Slide 30 text

ྫ͑͹ܕ

Slide 31

Slide 31 text

ʮRBS͕͋Δͷʹ ͳΜͰYARDͷܕ Λॻ͍͍ͯΔʁʯ

Slide 32

Slide 32 text

RubyKaigi 2024 Day3

Slide 33

Slide 33 text

όʔʹͯ

Slide 34

Slide 34 text

Stan Lo

Slide 35

Slide 35 text

ʮͳΜ͔υΩϡϝϯτͷ͜ ͱ΍ͬͯΔΈ͍͚ͨͩͲɺ Ͳ͏ͤͳΒRDoc΍ͬͨ΄͏ ͕ϢʔβʔʹӨڹΛ༩͑Β ΕΔΑʯ

Slide 36

Slide 36 text

ࣗ෼ʮͦ͏͔΋ʯ

Slide 37

Slide 37 text

RDocͷ՝୊

Slide 38

Slide 38 text

RDocͷ՝୊ • ܕγεςϜʢͱ͍͏͔rbs-inlineʣͱͷ౷߹ • σΟϨΫςΟϒ͕೉ͯ͘͠දݱྗ͕௿͍ • YARDͷλά͕࢖͍͍ͨ • ֦ுੑ͕௿͍ • ྫ͑͹LSP͔Β৮Γ͍ͨͱ͖ʹͲ͏͢Δʁ

Slide 39

Slide 39 text

ܕγεςϜͱͷ ౷߹

Slide 40

Slide 40 text

rbs-inline

Slide 41

Slide 41 text

RDocʹͱͬͯ͸ ݱঢ়ͨͩͷจࣈྻ

Slide 42

Slide 42 text

https://github.com/soutaro/rbs-inline/issues/8

Slide 43

Slide 43 text

“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”

Slide 44

Slide 44 text

rbs-inline YARD

Slide 45

Slide 45 text

rbs-inline RDoc

Slide 46

Slide 46 text

σΟϨΫςΟϒ ͱ λά

Slide 47

Slide 47 text

σΟϨΫςΟϒ ͱ͸

Slide 48

Slide 48 text

:nodoc:

Slide 49

Slide 49 text

σΟϨΫςΟϒ͸ RDocͷڍಈΛ ੍ޚ͢Δ

Slide 50

Slide 50 text

λάͱ͸

Slide 51

Slide 51 text

@param @return @since

Slide 52

Slide 52 text

RDocʹ͸ λά͕ͳ͍

Slide 53

Slide 53 text

σΟϨΫςΟϒ͸ ݸผͷίʔυͷ Ξϊςʔγϣϯʹ ޲͔ͳ͍ ※ݸਓͷݟղͰ͢

Slide 54

Slide 54 text

λά΄͍͠ʂ

Slide 55

Slide 55 text

ͱ͍͏͔ YARDه๏͕ ΄͍͠ʂ

Slide 56

Slide 56 text

ͦ΋ͦ΋ࣗ෼ͨͪͷ ϓϩμΫτ͸YARDͰ ίϝϯτΛॻ͍͍ͯΔ

Slide 57

Slide 57 text

RDoc͕YARDΛ ཧղ͢Ε͹ Α͍ͷͰ͸ʁ

Slide 58

Slide 58 text

RDocͷ֦ுੑ

Slide 59

Slide 59 text

ྫ͑͹RDocʹ ύʔαʔΛ௥Ճ ͍ͨ͠

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

೉͍͠

Slide 62

Slide 62 text

υΩϡϝϯτԽ ͞Εͯͳ͍ ʢRDocͳͷʹʣ

Slide 63

Slide 63 text

ύʔαʔ ͚ͩ͡Όͳ͍

Slide 64

Slide 64 text

৭ʑͳ΋ͷͨͪ ͱ࿈ܞ͍ͨ͠

Slide 65

Slide 65 text

৭ʑͳ΋ͷͨͪ ʹΑ֦ͬͯுͰ͖ ΔΑ͏ʹ͍ͨ͠

Slide 66

Slide 66 text

ʮϓϥάΠϯʯ తͳAPI͕΄͍͠

Slide 67

Slide 67 text

ύʔαʔͷ௥Ճ ʢYARDͳͲʣ

Slide 68

Slide 68 text

ίʔυ ΦϒδΣΫτͷ ֦ு

Slide 69

Slide 69 text

ग़ྗઌͷ ௥Ճ ʢLSPͳͲʣ

Slide 70

Slide 70 text

https://github.com/ruby/rdoc/issues/1178

Slide 71

Slide 71 text

·ͱΊɿ ϑϨʔϜϫʔΫ ͱͯ͠ͷRDoc

Slide 72

Slide 72 text

υΩϡϝϯτ΁ͷ ཁٻ͸૿େ ͍ͯ͠Δ

Slide 73

Slide 73 text

ʲ͓·͚ʳ AI knows what, but not why

Slide 74

Slide 74 text

ʲ͓·͚ʳ ίʔυͷഎܠ͸ ਓ͕ؒॻ͔͘͠ͳ͍

Slide 75

Slide 75 text

RDoc

Slide 76

Slide 76 text

།Ұͷެࣜ υΩϡϝϯτ πʔϧ

Slide 77

Slide 77 text

ͯ͜ೖΕ͍ͨ͠

Slide 78

Slide 78 text

՝୊͸ݱ৔ʹ ΑͬͯҟͳΔ

Slide 79

Slide 79 text

ҟͳΔݱ৔ʹҟͳΔ՝୊ • Rails APIΛ࡞͍ͬͯΔνʔϜ • ͔ͤͬ͘υΩϡϝϯτΛ࡞ͬͯ΋ϝϯς͞Εͳ͍ • Gem࡞ऀ • ܕఆٛͱυΩϡϝϯτΛ౷߹͍ͨ͠ • Rubyݴޠ։ൃऀ • ݶΒΕͨίϝϯτεϖʔεΛ༗ޮར༻͍ͨ͠ʢʁʣ

Slide 80

Slide 80 text

ҟͳΔ՝୊ʹҟͳΔղܾࡦ • ͔ͤͬ͘υΩϡϝϯτΛ࡞ͬͯ΋ϝϯς͞Εͳ͍ • ྫ͑͹ࣗࣾͷطଘυΩϡϝϯτͱ౷߹͢ΔͨΊͷRDocϓϥάΠϯ • RSpecͷ಺༰Λύʔεͯ͠υΩϡϝϯτԽ͢ΔRDocϓϥάΠϯ • ܕఆٛͱυΩϡϝϯτΛ౷߹͍ͨ͠ • .rbsϑΝΠϧʹॻ͔Εͨ಺༰ΛύʔεͰ͖ΔRDocϓϥάΠϯ • ݶΒΕͨίϝϯτεϖʔεΛ༗ޮར༻͍ͨ͠ʢʁʣ • ঢ়گʹ߹ΘͤͯϓϥάΠϯΛ෇͚ସ͑Δʢʁʣ

Slide 81

Slide 81 text

࠷ऴ໨ඪɿ

Slide 82

Slide 82 text

υΩϡϝϯτ΋ ָ͘͠ॻ͚Δ Α͏ʹͳΔ

Slide 83

Slide 83 text

ͨͷ͍͠RDoc