# File lib/state_machine/machine_collection.rb, line 7 def initialize_states(object, options = {}) if ignore = options[:ignore] ignore = ignore.map {|attribute| attribute.to_sym} end each_value do |machine| if (!ignore || !ignore.include?(machine.attribute)) && (!options.include?(:dynamic) || machine.dynamic_initial_state? == options[:dynamic]) value = machine.read(object, :state) machine.initialize_state(object) if ignore || value.nil? || value.respond_to?(:empty?) && value.empty? end end end