When the text inside the column is longer then the width, will split by space and continue on the next line.

def wrap_onspace(self, text):

        '''
        When the text inside the column is longer then the width, will split by space and continue on the next line.'''

        def _truncate(line, word):
            return '{line}{part}{word}'.format(
                        line=line,
                        part=' \n'[(len(line[line.rfind('\n')+1:]) + len(word.split('\n', 1)[0]) >= self.width)],
                        word=word
                    )

        return reduce(_truncate, text.split(' '))