
When referring to TYPE directly, the value is taken from the class in which the method is defined, but we want it to be taken from the class for the object being acted on, so we instead use self.class::TYPE to ensure that methods still work in inherited subclasses. For example this means that Pacemaker::Resource::MasterSlave will be able to inherit from Pacemaker::Resource::Clone.