diary

I like Hatena Star with a text selection.

2020-02-23

github.com

regexp_parser gemにはeach_expressionというメソッドがあるのだけど、これを引数なしで呼び出した時にエラーになっていてしまったのを修正した。

こういうのは引数なしで呼び出した時にEnumeratorが返るようになっていると、ほかのEnumeratorのメソッドと連携しやすくて大変便利。


github.com

regexp_parserのPRではバグを見つけていて、それをRuboCopのCopにできそうだったからとりあえず雑にIssueを上げた。


github.com

これを踏んだのでIssueを読んでた。ちゃんと読んでないけど、Rubyの実装の詳細の話だからそこまで面倒見なくていいんじゃないか、という感じかなあ


gist.github.com

会社のRailsアプリでSteepを試すために使っている、型定義を生成するRake taskを公開しておく。

steep:baseで、既存コードからrbs prototype rbコマンドで型定義を吐いている。 ただ、これを単純に実行しただけだとクラスが重複するのでそれをいい感じに解消している。

多分、次のようなケースで重複していたような気がする(記憶が曖昧…)

# path/to/ns.rb
class NS
end

# path/to/ns/c.rb
class NS
  class C
  end
end

path/to/ns/c.rbの型定義としてNSクラスの空の型定義も吐かれてしまうのだけど、当然path/to/ns.rbNSクラスの型定義を吐くので死ぬ。みたいな問題だった気がする。

これはruby-signature側でなんとかしてほしい気がする。


github.com

↑の問題をruby-signatureのIssueにした。


mobile.twitter.com

てきとーに買ってきたみかんがわりと美味しかった。


github.com

Pathnameの型が足りなくて困っているので型付けしている。 いつのまにかassert_send_typeというアサーションが生えていた。 https://github.com/ruby/ruby-signature/pull/191 で生えたっぽい。


github.com

github.com

型付けはるりまとRDocを両方見ながらやっているのだけど、そうするとるりまの間違いがちょくちょく見つかるので直している。