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
rbs-srcを用いたgem_rbs_collectionへのcontribution.pdf
Search
Ryosuke Hiroe
July 27, 2024
96
0
Share
rbs-srcを用いたgem_rbs_collectionへのcontribution.pdf
Ryosuke Hiroe
July 27, 2024
More Decks by Ryosuke Hiroe
See All by Ryosuke Hiroe
手書きRBSの運用事例
rhiroe
2
130
スクラム開発におけるベロシティの扱い
rhiroe
0
120
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
Abbi's Birthday
coloredviolet
2
7.7k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
97
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
The Limits of Empathy - UXLibs8
cassininazir
1
340
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Writing Fast Ruby
sferik
630
63k
Transcript
2024/07/27 廣江 亮佑 rbs-srcを用いた gem_rbs_collectionへの Contribution @rhiroe
2024/06/14 廣江 亮佑 自己紹介 名前: 廣江 亮佑 拠点: 岡山県 GitHub: @rhiroe
X: @buta_botti
型のある開発
None
例えば、Rails7.1で追加された async_* メソッドのRBSはまだない
手元のアプリケーションで 確認したい
None
Demo
rbs-src setup --output • rbs_collection.lock.yamlを解析 • tmp/rbs-srcにgemの数だけgem_rbs_collectionをclone ◦ sparse-checkoutでディレクトリを対象のgemのみに限定 •
sig/rbs-srcにtmp/rbs-srcのディレクトリそれぞれのsymlinkを作成 • gemの依存関係をrbs_src.depに出力 ◦ --output
Steepfile
Steepfile rbs_src.depが存在する = rbs-srcを使っている時
Steepfile rbs_src.depが存在する = rbs-srcを使っている時 .gem_rbs_collectionのRBSを使わない
Steepfile rbs_src.depが存在する = rbs-srcを使っている時 .gem_rbs_collectionのRBSを使わない rbs-srcがsymlinkを作成したrbsを使う
Steepfile rbs_src.depが存在する = rbs-srcを使っている時 .gem_rbs_collectionのRBSを使わない rbs-srcがsymlinkを作成したrbsを使う source type が stdlib
のものはruby/rbsのRBSファイルを使う
gem_rbs_collectionにgemのディレクトリがない • gemのディレクトリ自体がない • 今使っているバージョンのディレクトリがない
gem_rbs_collectionにgemのディレクトリがない • rbs-src の rbs-src link で tmp/rbs-src にディレクトリを作成し、 sig/rbs-src
にsymlinkを作る rbs-src link https://github.com/ruby/gem_rbs_collection.git devise 4.9 • 作成したディレクトリで gem_rbs_collection の bin/init_new_gem を実行 し雛形を生成する
よきRBSライフを