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