From 469950c29b1b2189cc3ebd1bd10116f9b78ce4cf Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Thu, 6 Feb 2014 21:50:29 +0000 Subject: [PATCH] prevent @@subclasses from being emptied This can happen due to Chef's stupid approach to loading library files, which uses Kernel#load rather than #require. Consequently a library can get loaded twice: once by Chef::RunContext#load_libraries and once by another library file which depends on it. This is also the cause of the TYPE constants being redefined. --- libraries/pacemaker/cib_object.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/pacemaker/cib_object.rb b/libraries/pacemaker/cib_object.rb index c620cb0..cdd4732 100644 --- a/libraries/pacemaker/cib_object.rb +++ b/libraries/pacemaker/cib_object.rb @@ -4,7 +4,7 @@ module Pacemaker class CIBObject attr_accessor :name, :definition - @@subclasses = { } + @@subclasses = { } unless class_variable_defined?(:@@subclasses) class << self attr_reader :object_type