Permalink
Commits on Dec 13, 2010
  1. Refactored settings handling by removing GBStoreProviding protocol.

    Reasoning is similar to previous commit.
    committed Dec 13, 2010
  2. Refactored settings handling by removing GBApplicationSettingsProvidi…

    …ng protocol.
    
    Instead, the GBApplicationSettingsProvider class is used. Objective-C can solve "program to interface" rule quite easily through anonymous type and we can as easily mock classes as we can protocols, so having a protocol only complicated development...
    committed Dec 13, 2010
  3. Fixed unit tests which were dependent on project name and company set…

    …tings.
    
    Forgot to run unit tests after 93203e1 commit.
    committed Dec 13, 2010
Commits on Dec 10, 2010
  1. Rearranged error codes a bit.

    committed Dec 10, 2010
  2. Refactored errors generation to use global constants instead of hard …

    …coded numerical values.
    committed Dec 10, 2010
  3. Implemented company identifier setting and refactored unit test for c…

    …opyWithZone: to make it more robus.
    
    The main reason for adding company identifier is to reuse it for documentation set bundle and publisher identifiers.
    
    The more robust unit test mentioned uses customly crafted expected string instead of simply getting it from settings object. This allows proper testing that all templates placeholders are actually being handled by the code!
    committed Dec 10, 2010
  4. Implemened NSCopying for GBApplicationSettingsProvider.

    This will be used for handling settings levels shortly - factory defaults, global parameters, command line arguments.
    committed Dec 10, 2010
  5. Implemented unit test for demonstrating which settings values can use…

    … placeholder strings and which placeholder strings are available.
    committed Dec 10, 2010
  6. Implemented negate boolean command line swithces.

    These are required so that we can suppress certain options that are on by default - DDCli only sets booleans to YES, so implementation is kind of duplicative - we need to add additional prefixed option for each boolean option.
    committed Dec 10, 2010
Commits on Dec 9, 2010
  1. Implemented better support for declared in info.

    Instead of displaying all entries (.h and .m files for example), first the file from comment is tried. If no comment, or missing source file information, the first header file from the object's sourceInfos list is returned. If no header file is found, the first file from the list is returned. Finally if no source information is found, nil is returned.
    committed Dec 9, 2010
Commits on Dec 7, 2010
  1. Fixed protocol types output for method declarations.

    The problem was that extra spaces were added which resulted in output similar to "id < Protocol >" whereus we want to have "id<Protocol>" instead.
    committed Dec 7, 2010
  2. Fixed object specifications vertical alignment to top.

    This renders labels for elements with multiple values at the top of the row instead of the middle.
    committed Dec 7, 2010
  3. Fixed delimiters handling for declared in object specifications.

    As we use <br /> for delimiter, we don't want to have it HTML escaped by mustache, so we need to specify that in the template.
    committed Dec 7, 2010
  4. Changed documentation set installation option to NO to prevent instal…

    …lation.
    
    This would work better during testing.
    committed Dec 7, 2010
  5. If only one paragraph is found in a comment, method discussion is omm…

    …ited.
    
    Repeating single paragraph resulted in strange looking documentation.
    committed Dec 7, 2010
  6. Implemented unit test for validating a method is not deleted if keep …

    …undocumented methods is NO in case there is documentation available at one of the adopted protocols.
    committed Dec 7, 2010
  7. Implemented documentation copying for overriden methods and fixed rem…

    …oval of undocumented objects.
    
    Due to the fact that we may copy documentation from superclasses, we must remove undocumented members and objects only after processing members, otherwise we would delete overriden methods before getting the chance to copy the documentation.
    committed Dec 7, 2010
  8. Fixed removal of undocumented categories and protocols handling.

    The problem was that we operated directly on GBStore categories and protocols and removing an object raised exception due to mutating a list whilte enumerating. We're now properly enumerating over a copy of the original list.
    
    I'm not sure why this isn't caught by unit tests though...
    committed Dec 7, 2010
  9. Fixed property merging handling within GBMethodData.

    The problem was that we required the same set of attributes for properties, however this produced errors for common scenarios like changing mutability in extensions like this:
    
    @interface Class
    @property (readonly,retain) id value;
    @end
    
    @interface Class()
    @property (readwrite,retain) id value;
    @end
    committed Dec 7, 2010
  10. Refactored GBProcessor internal handling by including as many work in…

    …side the main loop as possible.
    committed Dec 7, 2010
Commits on Dec 6, 2010
  1. Fixed removal of undocumented objects in case only undocumented metho…

    …ds are registered.
    
    The problem was that we didn't count uncommented methods that were unregistered. But then we calculated the number of commented methods by subtracting the sum of uncommented methods from all methods before handling them. So either we would need to use existing methods count or count all undocumented methods. I chose the second approach.
    committed Dec 6, 2010
  2. Fixed unregistering default section.

    The problem was that section name for automatically created section was nil and when sending NSMutableDictionary removeObjectForKey: and passing nil to the method, runtime error was raised.
    committed Dec 6, 2010