returns a list version of the object, based on it's attributes

def as_list(self):
        """
        returns a list version of the object, based on it's attributes
        """
        if hasattr(self, 'cust_list'):
            return self.cust_list
        if hasattr(self, 'attr_check'):
            self.attr_check()
        cls_bltns = set(dir(self.__class__))
        ret = [a for a in dir(self) if a not in cls_bltns and getattr(self, a)]
        return ret