Commit Graph

48 Commits

Author SHA1 Message Date
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
e5093a38dd Merge pull request #83 from sixten/0.9-error-handling 2011-05-10 17:58:46 -07:00
Greg Combs
d780586da4 Deleting persistent store will now permit using a store seed. 2011-05-01 20:49:32 -05:00
Sixten Otto
40c4940ea6 Minor improvements to error handling behavior 2011-04-28 10:38:08 -07:00
Blake Watters
308b6c5dd2 Updates to RKObjectLoader to fix issues where keyPath was not always respected and willSendForObjectLoader: not invoked as expected. Expanded spec coverage to fix these issues. fixes #80, fixes #81 2011-04-28 00:05:55 -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
9593612aab Closes gh-47. Initial implementation of OS X build integrating changes submitted by Felix Holmgren (https://github.com/Felixyz/RestKit).
* Factored out display of alerts into RKAlert interface that hides the differences between UIKit and OS X Cocoa.
* Added macosx to supported platforms to enable build on OS X.
* Configured project to use conditional architectures to enable building on OS X and iOS from the same targets.
* Implemented a bare-bones OS X example app.
* Create `rake build` task for building RestKit against iOS and OS X SDK for quick testing.
2011-04-12 21:02:25 -04:00
Sixten Otto
cef335d02b Allow storage in non-Documents directories
Add a new class method that takes a directory parameter, and add a corresponding parameter to the private initializer. The other class methods pass nil for that new parameter. The value for the pathToStoreFile property is now calculated in the initializer, and stored in an instance variable.
2011-04-12 20:02:48 -04:00
Sixten Otto
ecb0a5bd5e Improve RKManagedObjectStore's error handling
Add RKManagedObjectStoreDelegate protocol and a delegate property. Right now, all of the notifications are of errors/failures. Some code has been restructured so that return values are always consulted BEFORE the error parameter is examined.
2011-04-12 20:02:37 -04:00
Peter Marks
35171084d1 [Story #11961455] Implements support for sending nested objects back to the remote server for processing:
* Introduce RKObjectMappable#relationshipsToSerialize to define nested relationships to post
* New helper methods for working with relationship serializations.
* Extended Rails router to serialize nested objects according to Rails idioms
2011-04-05 22:18:10 -04:00
Blake Watters
5411f54d02 Implemented lightweight authentication scheme setup. Enables HTTP Digest AUTH 2011-03-27 01:19:37 -04:00
Blake Watters
52b2f9ffcb Fix for usage of models instead of objects dictionary key 2011-03-21 19:54:46 -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
58f867160f Remove old object seeder 2011-03-19 21:35:03 -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
52ca8588cf Use removeObjectForKey on deletePersistantStore. 2011-03-09 22:03:18 -05:00
Blake Watters
3cf66e5385 More improvements to the managed object store and seeding API's 2011-03-05 17:05:31 -05:00
Blake Watters
1405c0b404 Overhauled the object seeder API. It's much cleaner. Added example code to the RKTwitterCoreDataExample 2011-03-05 16:11:00 -05:00
Blake Watters
6c351c1ef9 Merge branch 'updates' of https://github.com/ahinz/RestKit into seeding
Conflicts:
	Code/CoreData/RKManagedObjectStore.h
	Code/CoreData/RKManagedObjectStore.m
2011-03-05 13:06:21 -05:00
Blake Watters
c6546feb70 Added new initializer for starting from a seed database. Need to finish cleaning up API and add example app. 2011-03-04 07:16:52 -05:00
Blake Watters
2aec89b14c More cleanups. Have a bug in the refactored object loader 2011-02-13 03:33:37 -05:00
Blake Watters
0ea0a9b6d9 Cleaning up some TODO's and such 2011-02-13 02:59:37 -05:00
Blake Watters
3467ac5d49 DiscussionBoard and RKTwitter now build properly. May fold the code back out of RKManagedObjectLoader tomorrow. 2011-02-13 02:19:53 -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
b9e4f57fb0 Work in progress factoring Core Data dependencies out of the Object Mapping layer 2011-02-13 01:19:37 -05:00
Adam Hinz
166eeeb566 Provide more generic constructors for the object store and object
manager
2011-02-05 15:31:47 -05:00
Blake Watters
39a77057ed Removed saveObjectStore method on RKObjectManager, step toward separating Core Data from the base object mapping. RKObjectLoader now ensures that the object store is persisted appropriately before object loaders are sent 2011-01-21 00:56:17 -05:00
Blake Watters
07796df253 Refactored the Rails router to respect properties specified by the model objects. Introduced new support to allow models to modify RESTful object loaders just before they are sent. Sample app completely works. Really fucking happy with how this is turning out! 2011-01-21 00:15:02 -05:00
Blake Watters
9af28d3070 Cleanup project structure to match typical TT projects 2011-01-17 19:21:57 -05:00
Jeremy Ellison
ac53cf9f2e Always return an NSManagedObjectContext from the NSThreadDictionary. Do not bless the one on the main thread. Ensure merges happen on the main thread.
Clean up error alert because of removal of goOffline support (as it was broken).
2011-01-13 14:33:28 -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
Jeremy Ellison
a4e7e60467 Functionally complete new example. 2011-01-11 13:57:28 -05: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
8b38d4387a add null check to prevent exceptions when we have created a local object that has yet to be synced with the server, and thus does not yet have a primaryKey assigned 2010-11-15 19:50:49 -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
0127df862d Added support for tracking upload progress 2010-10-26 14:05:29 -04:00
Blake Watters
b1800e3975 Clean up references to RKModelManager 2010-10-20 13:57:20 -04:00
Blake Watters
2fbdfb9c37 Work in progress 2010-10-19 14:27:17 -04:00
Blake Watters
ddfe0aae22 Merge branch 'master' into managedobjectcleanup
Conflicts:
	Code/CoreData/RKManagedObject.m
2010-10-18 22:23:54 -04:00
Blake Watters
33c6eba84b Checking in work on managed object cleanup 2010-10-18 22:10:40 -04:00
Jeff Arena
1a6fdeafd4 introduce RKManagedObjectCache protocol to CoreData component; cleanup remaining NSFetchRequest ivars that are now unused; add RKURL class for making resourcepath and baseurl params available to higher level components; cleanup Three20 library to incorporate latest updates from GateGuru codebase 2010-10-18 16:36:24 -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
Blake Watters
b71a85416a Cleaned up warnings and initialization of the request used by the object loader 2010-10-12 14:59:40 -04:00
Blake Watters
bd93d43f94 Finished split into more logical components. Library now copies Headers to Build/RestKit and you can selectively link against the components your app needs. libRestKit.a contains everything from the core library. 2010-10-01 13:02:24 -04:00