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
0
80
rbs-srcを用いたgem_rbs_collectionへのcontribution.pdf
Ryosuke Hiroe
July 27, 2024
Tweet
Share
More Decks by Ryosuke Hiroe
See All by Ryosuke Hiroe
手書きRBSの運用事例
rhiroe
2
120
スクラム開発におけるベロシティの扱い
rhiroe
0
110
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
KATA
mclloyd
PRO
32
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Code Reviewing Like a Champion
maltzj
526
40k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
What's in a price? How to price your products and services
michaelherold
246
12k
A designer walks into a library…
pauljervisheath
209
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Statistics for Hackers
jakevdp
799
220k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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ライフを