The problem is that the record might already have a state, which was
just not loaded due to explicit `select'. In this case, AASM should not
try to write the initial state into database.
I am trying to migrate some activerecord code to sequel, and this makes
aasm work for sequel out of the box. This is not yet feature complete
as for activerecord, missing some scope related features. However this
could be a start, and to be honest, since we're not using them, this is
far good enough for us.
I have tried my best to make this aligned with activerecord and mongoid,
and I've overridden `aasm_read_state` for sequel, because there's no
`new_record?` but only `new?` in sequel, and there's no `blank?`,
either. (which I believe is provided in activesupport, which sequel
does not depend on, and I don't want to force people to depend on that.)
Thanks for considering.