Commit Graph

54 Commits

Author SHA1 Message Date
Blake Watters
0954d4a063 Fixing more memory leaks 2011-06-20 15:03:35 -04:00
Blake Watters
3bf4b7bc0f Implemented nested mapping for structures similar to the BuildBot JSON structure. fixes #112 2011-06-17 15:36:28 -04:00
Blake Watters
9299cabc11 Implemented flexible logging solution utilizing the excellent LibComponentLogging library. 2011-06-11 20:25:28 -04:00
Blake Watters
f2ceefa012 Merge Request Queue (See issue #75):
* Introduces RKRequestCache for cacheing responses (supports ETag conditional GET, use cache if available, use cache on error, etc.) closes #75
    * Updates to Three20 layer to eliminate need for intermediary TTTableItem classes closes #76
    * Fixes to ensure iOS 3.x compatability:
        * Switched compiler to Clang
        * Updated conditional checks for UIBackgroundTask symbols to ensure runtime safety on iOS 3.x
        * Removed unnecessary linkage against UIKit and CoreFoundation from library targets
    * Fix for issue where RKRequest objects could become stuck in infinite loop within RKRequestQueue loadNextInQueue if you start
      a request and then cancel immediately. On cancel only decrement loadCount if the request has start loading. refs #122
2011-06-11 19:28:44 -04:00
Blake Watters
f3c0995d5e Implementation of Object Mapping 2.0 design:
* Removed RestKit from inheritance hierarchy
  * Mappings are implemented as concrete classes
  * Mapper is much more flexible & powerful
  * Much more robust error handling
  * Serialization is reimplemented as an object mapping operation
  * Added ability to serialize to JSON natively
  * Reworked Core Data integration
  * Simplified the codebase substantially
2011-06-11 19:26:56 -04:00
Blake Watters
4321da03b1 Expanded specs and began migrating all the content for testing out in the Fixtures directory. Fixtures is now the root for the Sinatra app and there are new helpers in RKSpecEnvironment.m. Added specs for several users use cases from the mailing list. Introduced a new warning when attempting to map did not set any properties. 2011-05-02 20:57:18 -04:00
Blake Watters
87d0cd13de Added support for registering object class mappings as keyPaths in addition to element names. closes #82 2011-04-28 13:09:50 -04:00
Andrew Newdel
bbce5abfd4 Use the keyPath property to map a subset of the response for a single target object. 2011-04-21 19:24:41 -04:00
Blake Watters
acf7352b40 Added support for mapping an array of objects when given a target object class and element registration is being used as well. fixes #60 2011-04-20 16:17:00 -04:00
Blake Watters
f55073ecce Merge branch 'master' of https://github.com/Vossy/RestKit into 59-url-mapping-support 2011-04-20 08:29:00 -04:00
Justin Voss
952096b289 Added support for mapping NSURL properties. Fixes #52 2011-04-19 19:14:52 -05:00
Chad Podoski
f44abbee27 Generalize RKRequestQueue and add NSDecimalNumber type support to RKObjectMapper. refs #50 2011-04-18 17:21:01 -04:00
Blake Watters
9af6a59c79 Initial implementation of documentation generation using the Appledoc parser. refs #48
* Cleaned up various mismatches in method signatures that were preventing documentation generation
* Removed naked ampersands from comments as they cause XML parser failures during docset generation via appledoc
2011-04-14 22:55:58 -04:00
Blake Watters
15a3c9ae8e added support for set nil/ignore missing relationships and specs 2011-04-04 19:43:21 -04:00
Blake Watters
9ed062121e Fix for crash based on set nil for missing element policy. Added specs covering the crash. Merging directly to 0.9.1 and tagging as 0.9.1.1 2011-03-29 10:47:11 -04:00
Blake Watters
1d50d07f25 Merge branch 'master' into 0.9 2011-03-28 23:33:53 -04:00
Blake Watters
c90ec2770d Finished cleanup of HTTP AUTH and XML Support. Ready to tag 0.9.1 2011-03-28 23:29:06 -04:00
Blake Watters
227f35a20d Merge branch '0.9' into xml-parser
Conflicts:
	Examples/RKTwitter/Classes/RKTwitterViewController.m
	README.md
	RestKit.xcodeproj/project.pbxproj
2011-03-27 22:29:19 -04:00
Blake Watters
4c717e2a5b Merge branch '0.9' into unit-testing
Conflicts:
	RestKit.xcodeproj/project.pbxproj
2011-03-24 15:00:13 -04:00
Jeremy Ellison
6a4b3d78b3 Merge branch 'unit-testing' into xml-parser
Conflicts:
	RestKit.xcodeproj/project.pbxproj
2011-03-23 10:34:02 -04:00
Blake Watters
2109fae1ba Finished cleaning up Core Data support. Happy with the new organization 2011-03-19 22:06:51 -04:00
Blake Watters
88a1b013fc Merge remote branch 'origin/0.9' into core-data-cleanup
Conflicts:
	Code/CoreData/CoreData.h
	Code/CoreData/RKManagedObjectStore.h
	Code/CoreData/RKManagedObjectStore.m
	Code/CoreData/RKObjectSeeder.h
	Code/CoreData/RKObjectSeeder.m
	Code/ObjectMapping/RKObjectLoader.m
	Code/ObjectMapping/RKObjectManager.m
	Code/ObjectMapping/RKObjectMapper.m
	RestKit.xcodeproj/project.pbxproj
2011-03-19 21:26:13 -04:00
Blake Watters
a94456a01e Committing changes to sync against 0.9 2011-03-19 20:59:54 -04:00
Blake Watters
4da3290d50 added JSON and object to NSException when mapping fails because of bad input 2011-03-17 22:20:04 -04:00
Blake Watters
9836023601 Added support for mapping cases where the left side of a dictionary is a registered keyPath and the right side is an array of objects 2011-03-15 16:20:34 -04:00
Blake Watters
7ff0ff1339 Ditches the Rails spec server app. Working on cleaning up unit testing situation. Still a couple of broken tests. 2011-03-09 17:39:32 -05:00
Blake Watters
83f77e60ae Fixed bug with warnings 2011-03-06 14:16:40 -05:00
Stefan Eletzhofer
9184b2b0f2 Add a nice warning if we don't find a model class for a relationship in RKObjectMapper setRelationshipOfModel:forElements 2011-03-02 12:57:46 +01:00
Stefan Eletzhofer
a02e13f8d1 fix duplicate definition of updateModel:fromElements: 2011-03-02 11:04:20 +01:00
Jeremy Ellison
bc482efd31 Working XML Support. Twitter example working (XML and JSON) 2011-03-01 13:54:00 -05:00
Blake Watters
e03c6d3d10 Fixed crash during dealloc of RKClient due to initialization of baseURL observer using a blank host. Updated the object mapper to support class/keypath when loading a single object. Some updates to the UISpec harness to get things working again. 2011-02-25 14:42:50 -05:00
Blake Watters
0ea0a9b6d9 Cleaning up some TODO's and such 2011-02-13 02:59:37 -05:00
Blake Watters
f83dc271f9 Finished cleaning up dependencies on Core Data. RKTwitter now builds without linking against Core Data or libRKCoreData.a 2011-02-13 02:04:51 -05:00
Blake Watters
a1216d0ea0 Merge branch 'master' of github.com:twotoasters/RestKit into core-data-cleanup
Conflicts:
	Code/ObjectMapping/RKObjectMapper.m
2011-02-13 01:24:57 -05:00
Blake Watters
b9e4f57fb0 Work in progress factoring Core Data dependencies out of the Object Mapping layer 2011-02-13 01:19:37 -05:00
Blake Watters
07034e3878 Update for object initializer inside the mapper 2011-02-11 10:02:25 -05:00
Blake Watters
f7553d7ac0 Found a nasty bug in object mapping with nil values vs missing key paths. Polished login and sign up patterns thoroughly. Login/Logout & sign up are functional again. Now to move through the rest of the app 2011-01-20 00:14:21 -05:00
Jeremy Ellison
6a5ee2af7e Revert "Remove per-file copyrights"
This reverts commit 91e7c6bb5e.
2011-01-12 15:27:19 -05:00
Jeremy Ellison
91e7c6bb5e Remove per-file copyrights 2011-01-12 15:05:22 -05:00
Blake Watters
46974bb4c7 Removing extraneous logging from previous commit 2011-01-03 15:34:49 -05:00
Blake Watters
8fc71f0fb0 Introduced new missing element mapping policy for controlling whether or not nil values will be set for missing elements from payloads. 2011-01-03 15:31:24 -05:00
Jeff Arena
d91223b6fa fixed a crash related to parsing a non-JSON error from a response string; fixed issue with callbacks being fired after a request has been cancelled; fixed leak of resourcePath in RKRequestTTModel; fixed issue with autoreleasepool being drained before background thread objects have been transferred to the callback method; fixed issues with mutating the requestqueue array during enumeration while performing bulk cancels; added additional logging that has been helpful in tracking down many of these crashes (to be removed prior to merge to master) 2010-12-02 19:28:25 -08:00
Jeff Arena
c19d305b45 fix for mapper bug that was assuming a 1:1 mapping between object classes and elements; removed method from dictionary category that made the 1:1 mapping assumption that caused the mapper bug; collapsed the RKRequestModel and RKRequestTTModel classes into RKRequestTTModel; made changes to the Three20 integration to perform all cache loading and network loading in response to Three20 load calls; used isOutdated TTModel method to enforce refreshRate on RKRequestTTModel 2010-11-30 15:08:05 -08:00
Jeff Arena
fbe8457dd7 fix for updating thread dictionary cache of existing managed objects to ensure objects created during a single mapping operation are not duplicated 2010-11-17 14:31:12 -08:00
Jeff Arena
57e2403624 add support to core data component to hook up relationships from foreign keys present in the server payload 2010-10-27 17:00:31 -07:00
Blake Watters
ec0c221a33 Allow for mapping directly into an object that doesn't have an element registered with the mapper. We check that the class implements RKObjectMappable and blow up otherwise. Updated comments on the loader... 2010-10-21 13:31:21 -04:00
Blake Watters
deef2a63ce Fix for nasty infinite loop when the resourcePath begins with a substitution param 2010-10-21 11:42:47 -04:00
Blake Watters
2fbdfb9c37 Work in progress 2010-10-19 14:27:17 -04:00
Jeff Arena
592b2a9e32 initial pass at changing fetchRequest APIs to work with a collection of fetch requests; also performed some API cleanup on RKManagedModel 2010-10-14 19:14:55 -07:00
Jeremy Ellison
7c01d54fa3 Add configurable error parsing to the object mapper. 2010-10-14 12:51:12 -04:00