From 97e1fa501d1ffcc58ef0b22e51c777b9bbceca08 Mon Sep 17 00:00:00 2001 From: Paul Cantrell Date: Fri, 2 Mar 2018 12:10:38 -0600 Subject: [PATCH] Circumvent "instance variable not defined" warnings Fixes #583 --- lib/aasm/persistence/plain_persistence.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/aasm/persistence/plain_persistence.rb b/lib/aasm/persistence/plain_persistence.rb index e3ebb6e..2edd60f 100644 --- a/lib/aasm/persistence/plain_persistence.rb +++ b/lib/aasm/persistence/plain_persistence.rb @@ -5,7 +5,8 @@ module AASM # may be overwritten by persistence mixins def aasm_read_state(name=:default) # all the following lines behave like @current_state ||= aasm(name).enter_initial_state - current = aasm(name).instance_variable_get("@current_state_#{name}") + current = aasm(name).instance_variable_defined?("@current_state_#{name}") && + aasm(name).instance_variable_get("@current_state_#{name}") return current if current aasm(name).instance_variable_set("@current_state_#{name}", aasm(name).enter_initial_state) end