Commit Graph

56 Commits

Author SHA1 Message Date
Blake Watters
b9457ce65c Remove RKObjectManager specific value for the 'Accept' header and configure the header directly on the HTTP client instead. Register the AFJSONRequestOperation class in managerWithBaseURL:. Update documentation. 2012-12-11 21:24:22 -05:00
Blake Watters
7b4098ca6f Add test coverage for ensuring creation of RKManagedObjectRequestOperation from appropriateObjectRequestOperationWithObject:method:path:parameters: with no matching response descriptors 2012-12-10 09:43:32 -05:00
Blake Watters
61102be1a4 Fix incorrect mapping results for secondary key paths when more than one response descriptor matches and there is a targetObject. fixes #1057 2012-12-07 18:56:14 -05:00
Blake Watters
b1f57612e1 Add support for replacing the HTTP client on the object manager and mutating the baseURL on the router. closes #1051 2012-12-07 13:49:18 -05:00
Blake Watters
997158e9e6 Fix issues with incorrect determination of the appropriate object request operation. fixes #1054, #1056
* Expands test coverage for the `appropriateObjectRequestOperationWithObject:method:path:parameters:`
* Uses an object graph visitor to completely navigate the mapping graph, ensuring that an `RKEntityMapping` appearing at any nesting level will be correctly handled
2012-12-07 12:40:02 -05:00
Blake Watters
f3a853e871 Drop RK prefix from entity names 2012-11-23 22:19:12 -05:00
Blake Watters
6837d0d1b9 Add support for hooking into the RKSearchIndexer via a delegate
* Supports replacing the RKSearchWord fetch strategy to enable caching for performance
* Supports declining creation of search words
* Supports declining of indexing for specific objects
* Supports notification when objects are indexed and search words are added to the index
2012-11-12 16:18:36 -05:00
Blake Watters
2aeb07d47a Make test less brittle 2012-11-09 12:11:58 -05:00
Blake Watters
e85cf659c0 Improve Request Descriptor registration and lookup behaviors:
* Add assertion to object manager when you attempt to register an overlapping request descriptor
* Improve search algorithm to handle subclass matches
2012-11-05 23:10:57 -05:00
Jeff Arena
2612604df3 Fix accept header issue with multipart requests. 2012-11-03 11:37:54 -04:00
Blake Watters
de016e22f3 Refetch the mapping results from the original managed object context before returning to the caller. fixes #1011
Eliminate the thread safe invocation class.
2012-10-28 20:22:53 -04:00
Blake Watters
330e63a2d2 Add test coverage for default value of savesToPersistentStore attributes. closes #1000 2012-10-17 17:49:08 -04:00
Blake Watters
f4bfdb389b Add support for the registration of HTTP request operation subclasses on the manager to support easy customization of request operation handling. refs #997 2012-10-16 11:25:00 -04:00
Blake Watters
4ee29df72f Ensure cancellation works with path patterns against baseURL's that include a path 2012-10-14 15:32:08 -04:00
Blake Watters
d823217993 Add assertions to prevent attempts to create request descriptor objects with inappropriate mappings. fixes #976 2012-10-14 14:57:02 -04:00
Blake Watters
a4a788b889 Wrap requestWithMethod:path:parameters: instead of reimplementing it. closes #959 2012-10-05 23:26:21 -04:00
Blake Watters
877ce255b5 Expand test coverage and fix situations where requests would unexpectedly initialize incorrectly without error
* RKObjectParameterization now returns an empty dictionary if mapping produces an unmappable representation error (no mappable attributes/relationships found)
* Log errors if request construction results in an NSError and return nil
* Ensure errors are passed back up through object parameterization instead of just returning nil
* Reset the serialization MIME Type registry during RKTestFactory set up to ensure it is in a sane state
* Convert Hamcrest matchers to Expecta in the object mapper tests to fix infinite recursion on test failure (will need to completely phase out Hamcrest soon)
2012-10-05 19:16:55 -04:00
Blake Watters
635b6257d1 Expose default headers as a property and rework intiialization logic to respect the AFHTTPClient instance with which the object manager was initialized. Update docs to reflect the changes. Add tests for initialization code paths. 2012-10-05 14:24:32 -04:00
Blake Watters
4060441abb Fix issue with exact substring path patterns failing to match 2012-10-04 22:26:43 -04:00
Blake Watters
af234936ee Don't send object parameters when performing a getObject: closes #947 2012-10-04 19:20:58 -04:00
Blake Watters
cf5ef24fe9 Eliminate use of associated objects on NSURL in favor of a smarter RKResponseDescriptor class to solve the relative URL problem. refs #966
Instead, fall back to treating all URL's as strings for matching purposes and manually performing relative URL testing. Adds `matchesURL:` and `matchesResponse:` methods to `RKResponseDescriptor`.
2012-10-04 14:11:05 -04:00
Jeff Arena
77d738b91e Add additional test coverage to DELETE to handle cases where a 204 is returned, instead of a 200. 2012-10-02 11:10:25 -04:00
Jeff Arena
fc36d69475 Fix error with local delete of managed object after performing a successful DELETE operation. 2012-10-02 11:00:20 -04:00
Blake Watters
c10321751c Rename primaryManagedObjectContext to persistentStoreManagedObjectContext since nobody can keep its role straight 2012-09-30 22:47:26 -04:00
Jeff Arena
c301060ab8 Add APIs to RKObjectManager for use in firing batches of operations. 2012-09-30 13:43:12 -04:00
Blake Watters
adc1d178fa Add cancellation API to RKObjectManager.
* Introduces `cancelAllObjectRequestOperationsWithMethod:pathPattern:`
* Make RKObjectRequestOperation cancel underlying request operation when cancelled
2012-09-27 22:33:19 -04:00
Blake Watters
235f5fc579 Fix all build errors in unit tests. Restore execution of core mapping tests. 2012-09-24 22:44:20 -04:00
Blake Watters
627f6f5b7b Resource Path -> Path 2012-09-04 21:24:33 -04:00
Blake Watters
ce6b0829e4 Convert RestKit to ARC 2012-08-28 17:34:58 -04:00
Blake Watters
64c378a8bf Fix warnings related to deprecation of managed object store save 2012-08-07 17:04:17 -04:00
Blake Watters
232b3eb861 Implemented new search engine for managed objects. 2012-08-01 18:12:53 -04:00
Blake Watters
6b315fbd54 Updates to entity cache and other components to operate in parent/child context world. 2012-07-20 14:48:09 -04:00
Blake Watters
e952f451fb Eliminated the use of the ActiveRecord pattern across the library. 2012-07-20 14:48:09 -04:00
Blake Watters
a8f64e7982 Continued cleanup related to managed object context work 2012-07-17 13:44:50 -04:00
Blake Watters
b25a1833b3 Ported RestKit to using managed object contexts with concurrency types. Numerous cleanups and API updates. 2012-07-16 22:47:06 -04:00
Blake Watters
f0706dbdbf Work in progress
Conflicts:
	Code/CoreData/RKManagedObjectLoader.h
	Code/CoreData/RKManagedObjectLoader.m
	Code/CoreData/RKManagedObjectMapping.m
	Code/CoreData/RKManagedObjectMappingOperation.m
	Code/CoreData/RKManagedObjectStore.m
	Code/CoreData/RKManagedObjectThreadSafeInvocation.h
	Code/CoreData/RKManagedObjectThreadSafeInvocation.m
	Code/CoreData/RKSearchableManagedObject.m
	Code/ObjectMapping/RKObjectLoader.m
	Code/ObjectMapping/RKObjectMapper.h
	Code/ObjectMapping/RKObjectMappingOperation.m
	RestKit.xcodeproj/project.pbxproj
	Tests/Logic/CoreData/RKManagedObjectThreadSafeInvocationTest.m
2012-07-13 13:07:42 -04:00
Blake Watters
a51f7ddc51 [REBASE] Cleaned up routing tests and dealloc 2012-07-11 17:01:32 -04:00
Blake Watters
fe9bfe59da [REBASE] Rename Router -> RouteSet. Add new Router class for generating URL's from the routes. 2012-07-11 17:00:32 -04:00
Blake Watters
6c3b75039b [REBASE ME] Refactored Router for simplicity, nearly done with design. Initial support for relationship loading from object manager. 2012-07-11 16:52:46 -04:00
Blake Watters
ffa2fc685e Introduced named route support. refs #779
* Provides for the registration of route either by class and method or via symbolic name
* Changed routes representation from simple dictionary to RKRoute model
* Eliminated RKRouter as a protocol
* Migrated RKObjectRouter to Network layer and renamed to RKRouter
* Added router as property of RKClient, RKObjectManager now proxies access
2012-07-11 16:06:55 -04:00
Jawwad Ahmad
82f4630d36 Whitespace syntax cleanup. Refs #614 2012-07-11 10:41:38 -04:00
Jawwad Ahmad
abb46c382c Ensure the stars for all pointers belong to the variable rather than the type. Refs #614 2012-06-04 22:47:30 -04:00
Jawwad Ahmad
eaa5484b01 Placing opening braces on a new line for methods to match Apple convention. Refs #614
Used uncrustify's "nl_fdef_brace = add" option to detect issues.
2012-06-04 00:36:19 -04:00
Blake Watters
016f13dad0 Convert all tabs to four spaces. refs #743 2012-05-17 18:10:59 -04:00
Blake Watters
fcb973056b Cleanup trailing whitespace. refs #743 2012-05-17 18:00:16 -04:00
Boris Dušek
e932c31cde Update RKObjectManager to observe changes to the reachability observer of
the underlying RKClient object. refs #717
2012-05-16 15:10:18 -04:00
Blake Watters
ef7dc24969 Implemented dynamic factories using blocks. closes #682 2012-04-17 12:41:26 -04:00
Ed McManus
0df8c7ea73 Fix spelling of persistent store. 2012-04-14 11:48:22 -07:00
Blake Watters
457a6126cf Refresh copyright notices for all source files 2012-04-04 09:08:54 -04:00
Blake Watters
b0ab880868 Fixed bug raising exception when loaderForObject: is invoked with a method of RKRequestMethodInvalid. fixes #601 2012-03-19 16:03:25 -04:00