HeartRails Tech Blog ハートレイルズのエンジニア、デザイナーによるブログです。 ウェブサービス、スマホアプリ、IoT デバイスの開発に関連する技術的な情報を発信していきます。 こんにちは。ハートレイルズの前島(@netwillnet)です。今回は aasm という、状態遷移をスマートに管理するためのRailsプラグインの紹介をしようと思います。 インストール方法 gem install aasm だけ。 どういうときに使えるの? 複数の状態を持つモデルを管理するときに威力を発揮します。例として、所有している本の状態を管理するモデルを書いてみましょう。状態には 未読(not_read) 読んでる途中(reading) 既読(read) 捨てた(dump) の4つがあるとし、 status カラムで管理します。また、別の状態として「友達に貸している」を管理する lendin