lib/state_manager/resource.rb in state_manager-0.2.9 vs lib/state_manager/resource.rb in state_manager-0.2.10

- old
+ new

@@ -50,11 +50,10 @@ # Create an accessor for the state manager on this resource state_managers[property] = klass property_name = "#{property.to_s}_manager" define_method property_name do - self.state_managers ||= {} state_manager = state_managers[property] unless state_manager state_manager = klass.new(self) state_managers[property] = state_manager end @@ -64,12 +63,16 @@ # Define the helper methods on the resource Helpers::Methods.define_methods(klass.specification, self, property) if options[:helpers] end module InstanceMethods + def initialize(*args) + super(*args) + self.state_managers ||= {} + end + # Ensures that all properties with state managers are in valid states def validate_states! - self.state_managers ||= {} self.class.state_managers.each do |name, klass| # Simply ensuring that all of the state managers have been # instantiated will make the corresponding states valid unless state_managers[name] state_managers[name] = klass.new(self) \ No newline at end of file