def attr_init(attr, val = nil, &block)
      if _all_attributes.include?(attr)
        unless instance_variable_defined?('@' + attr.to_s)
          _set(attr, block_given? ? yield : val)
        end
        return true
      else
        PEROBS.log.fatal "'#{attr}' is not a defined persistent " +
          "attribute of class #{self.class}"
      end

      false
    end
def attr_init(attr, val = nil, &block)
      if _all_attributes.include?(attr)
        unless instance_variable_defined?('@' + attr.to_s)
          _set(attr, block_given? ? yield : val)
        end
        return true
      else
        PEROBS.log.fatal "'#{attr}' is not a defined persistent " +
          "attribute of class #{self.class}"
      end

      false
    end
Use this method to initialize persistent attributes in the restore()
 method that have not yet been initialized. This is the case when the
 object was saved with an earlier version of the program that did not yet
 have the instance variable. If you want to assign another PEROBS object
 to the variable you should use the block variant to avoid unnecessary
 creation of PEROBS objects that later need to be collected again.