RBS Railsで、enumを定義した時にカラムの型がIntegerのままになってしまっていたのを直した。
RBS Railsで、AR::Base#save!
の型が間違っていたので直した。touch
とvalidate
キーワード引数を受け取るのに気がついていなくて、Steepを試していたら型エラーになってしまっていた。
rbs prototype rb
でaliasをサポートするようにした。
twitter.comうーん、Steepを試しやすいのはどこだろう…。modelかなあと思っていたけど、modelだとblockの中でselfが変わるのが多くてやりづらい。それはcontrollerでも同じかなあ…どうにしろcontrollerだとivarが多くてつらいような気もするけど
— Pocke(ぽっけ) (@p_ck_) November 1, 2020
Steepをどこから試していくのが良いだろうか、と考えていたのだけど、Service Classとかがやりやすいんじゃないだろうか。 つまりPOROだとやりやすそう。
Modelだとblockの中でselfが変わることがあって、うまく動かないことがある。
class User < ApplicationRecord # この do_something の self は User classではなくて User のインスタンス before_save -> { do_something } end
これをうまくやる方法がほしい。RBSレベルで書きたいねみたいな話は前にしたのだけど、現状どんな感じだろう
twitter.comrbs prototype rbでextend selfをいい感じにしたいけど、selfの名前を解決するのがめんどそう
— Pocke(ぽっけ) (@p_ck_) November 1, 2020
extend self
したいけどそのためにはselfを引き回す必要があってちょっと面倒そうだなあという気持ち。
RBSで親クラスのメソッドへのaliasを定義しようとすると死ぬのでIssueを立てた。