Blake Watters
2ac45f5ccc
Refactored object loaders to provide easier support for non-nested JSON responses. There are new flavors of getObject:, postObject:, etc.
...
that allow the developer to explicitly specify the object mapping to use for processing the response. closes #168
2011-06-30 10:33:39 -04:00
Blake Watters
2e7adbdc1e
Restore the managed object cache functionality and add test coverage so it does not break again. fixes #167
2011-06-29 22:08:35 -04:00
Blake Watters
d57b784c30
Don't delete the managed object unless we were responsible for saving it in the first place. closes #125
2011-06-29 21:04:17 -04:00
Blake Watters
2a8ece97c1
Improvements to reachability, the request queue, logging throughout the network layer, decoupling of components via notifications, reliability improvements for unit tests in the cache layer. Improved thread-local cleanup routines inside the managed object store. Changing base URL's is now more reliable. fixes #171 , #158 , #113 , #104 , #102
2011-06-29 13:28:14 -04:00
Blake Watters
3dfbaf1810
Updated to support setting default value instead of nil when an attribute is missing in the payload. For Core Data backed models, we consult the entity definition to obtain the default value. closes #117
2011-06-28 15:22:04 -04:00
Blake Watters
e4320f7ea9
Added error reporting when RKManagedObjectLoader fails to save the object context. This was silently masking validation failures post-mapping.
2011-06-24 15:59:40 -04:00
Blake Watters
4773542a9e
Fix breakage in Core Data
2011-06-23 09:21:54 -04:00
Blake Watters
1ab61ad735
Check for nil target object ID before performing deletion. Log info about the process.
2011-06-21 10:13:34 -04:00
Jeremy Ellison
a5cc456351
Merge branch 'restkit-sprint' of github.com:twotoasters/RestKit into restkit-sprint
2011-06-20 10:51:30 -04:00
Jeremy Ellison
de154e21b8
Fix -reset in RKManagedObjectLoader.m
2011-06-20 10:50:56 -04:00
Blake Watters
3204682f72
Added object mapping management to the mapping provider for folks who don't have keyPaths. Deprecated setMapping:forKeyPath: in favor of setObjectMapping:forKeyPath: for consistency with the other method signatures.
2011-06-20 10:49:40 -04:00
Daniel Hammond
e9e4c83630
Merge branch 'restkit-sprint' of github.com:twotoasters/RestKit into restkit-sprint
2011-06-16 21:17:31 -04:00
Daniel Hammond
d9fc311433
Remove objects persisted to Core Dataduring postObject: when there is an error (Fix Issue #125 )
2011-06-16 21:17:14 -04:00
Duncan Lewis
ed9260abcd
Issue #106 added requested change in RKManagedObjectStore.m
2011-06-16 18:47:42 -04:00
Duncan Lewis
61de21f0d1
Applied fix for RestKit issue #89
2011-06-16 18:29:21 -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
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