Slide 1

Slide 1 text

これまで細々と作成した Gemの紹介をします 2025.3.17 Kashiwa.rb #9 Koji NAKAMURA (@kozy4324)

Slide 2

Slide 2 text

Koji NAKAMURA ● 𝕏: @kozy4324 ● GitHub:@kozy4324 ● Classi株式会社所属 ● Kashiwa.rb主催 自己紹介

Slide 3

Slide 3 text

今日紹介する Gem ● httpspec_simple ● cap_cap ● ruby-lsp-rake ● logicuit

Slide 4

Slide 4 text

httpspec_simple

Slide 5

Slide 5 text

httpspec_simple ● RSpec の Extension として作った ● 指定した URL のリクエストに対して、レスポンスコードとかレ スポンスボディに含まれている文字列のチェックを RSpec で 宣言的にテストしたくて作った

Slide 6

Slide 6 text

httpspec_simple

Slide 7

Slide 7 text

httpspec_simple ● 最終コミット日付「11 years ago…」 ● きっと今の RSpec では動かない(未確認) ● 「RSpec の内部 DSL で宣言的にテスト記述できるのは面白 いなぁ」と当時は思いながら作ってみた

Slide 8

Slide 8 text

cap_cap

Slide 9

Slide 9 text

cap_cap ● (Cap)ture web pages by using (Cap)ybara and Poltergeist. ● Poltergeist なつい... ● CLI でヘッドレスブラウザを利用して Web ページのレンダリン グ結果をキャプチャしてくれる君

Slide 10

Slide 10 text

cap_cap ● 最終コミット日付「7 years ago…」 ● 動くとは思えない ● 昨今であればブラウザにヘッドレスモードあるし、DevTools Protocol とか使えばいい ● ちょっとした CLI ツールを Gem として作って配布するの面白 いよねっていうのがアイデアでした

Slide 11

Slide 11 text

ruby-lsp-rake

Slide 12

Slide 12 text

ruby-lsp-rake ● Ruby LSP の Add-on ● Rake の DSL を解決してくれる君 ● Ruby LSP と仲良くなりたくて作った

Slide 13

Slide 13 text

ruby-lsp-rake

Slide 14

Slide 14 text

ruby-lsp-rake ● すでにある何かの plugin や add-on や extension を作るの は敷居が高くなくてオススメ ○ httpspec_simple もそうだった ● あとエディタや開発体験 (DX) に関連したプロダクトだとドッグ フーディングしやすい

Slide 15

Slide 15 text

logicuit

Slide 16

Slide 16 text

logicuit ● logi(c cir)cuit -> logicuit ● 電気回路シミュレータ ● 書籍「CPUの創りかた」を理解したくて作っている ● https://www.amazon.co.jp/dp/4839909865/

Slide 17

Slide 17 text

logicuit

Slide 18

Slide 18 text

logicuit ● 「電気回路」というドメインに対して内部 DSL を作ってみたく なったというチャレンジも含む

Slide 19

Slide 19 text

https://x.com/kozy4324/status/1901168933035798977

Slide 20

Slide 20 text

まとめ ● plugin や add-on や extension を Gem で作ろう ● ちょっとした CLI ツールを Gem で作ろう ● Ruby の内部 DSL を Gem で作ろう