module AASM::Persistence::SequelPersistence::InstanceMethods

def aasm_ensure_initial_state


foo.aasm_state # => nil
foo.valid?
foo.aasm_state = nil
foo.aasm_state # => 1
foo = Foo.find(:first)


foo.aasm_state # => "open" (where :open is the initial state)
foo.valid?
foo.aasm_state # => nil
foo = Foo.new

that the initial state gets populated before validation on create
Ensures that if the aasm_state column is nil and the record is new
def aasm_ensure_initial_state
  AASM::StateMachineStore.fetch(self.class, true).machine_names.each do |state_machine_name|
    aasm(state_machine_name).enter_initial_state if
      (new? || values.key?(self.class.aasm(state_machine_name).attribute_name)) &&
        send(self.class.aasm(state_machine_name).attribute_name).to_s.strip.empty?
  end
end