勝手にActiveSupportっぽいことをするシリーズ

この記事は筆者が見た夢を一人称視点で叙述した内容です。事実ではなく、実際の人物等とは一切関係ありません。

module ::Boolean
  def then
    self
  end

  def else
    self
  end
end

class ::TrueClass
  include Boolean

  def then
    yield
    self
  end

  def else
    self
  end
end

class ::FalseClass
  include Boolean

  def then
    self
  end

  def else
    yield
    self
  end
end

リファレンスに # -> Bool って出てくるのにないのは気持ち悪いので。
これで真偽値かどうかを self === Boolean と書けるようになった。
いまいち誰がどう得するのかわからないけど、テストとか書くとき楽になるんじゃないかなあ? そうでもないかなあ。

これをやるのにインターフェースみたいのを Boolean で定義しといた。インターフェースっていうのかな…。