def __init__(self, text, info=[]):
        '''Gives the ability to add information about the docstring.

        One bit of info that is useful to know is if the docstring is a class.
        PEP257 requires that classes have a one-line upper and lower margin.

        Args:
            text ()
            info (list)

        '''
        super(DocstringPep257, self) .__init__(text)
        self.serialized.update({self.get_rule_name(x[0]): {} for x
            in inspect.getmembers(self, predicate=inspect.ismethod)})
        self.info = info
        self.serialized['info'] = self.info
        self.serialized['origText'] = text
        self.serialized['origLineText'] = text.split('\n')
        self.serialized['fixLines'] = defaultdict(list)
        docStart, docEnd = \
                docstring.crop_to_docstring(self.serialized['origText'])
        self.serialized['bounds'] = (0, -1)

        if not self.is_style():
            raise ValueError('text: {!r} is not a valid docstring type: '
                             '{}'.format(text, self.__class__.__name__))
 def test_get_docstring_with_ast(self):
     '''Uses the ast module to get a doctsring from a snippet of code.'''
     docstring.crop_to_docstring(self.docstring)