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
51
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
88
スクラム開発におけるベロシティの扱い
rhiroe
0
92
Featured
See All Featured
Visualization
eitanlees
143
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
For a Future-Friendly Web
brad_frost
174
9.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Statistics for Hackers
jakevdp
796
220k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
26
700
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
YesSQL, Process and Tooling at Scale
rocio
167
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ライフを