Blake Watters
6e87cd5ffd
Add missing release for rootKeyPath ivar
2011-07-27 07:59:08 -04:00
Blake Watters
ee5457105e
Fix memory leak of mapping provider
2011-07-25 17:58:03 -04:00
Blake Watters
7c6507cacf
Update the mutable URL request when switching out the URL or resourcePath
2011-07-24 19:15:45 -04:00
Blake Watters
406c5a1f7c
Added support for mutating URL and resourcePath on RKRequest and RKObjectLoader. closes #242
2011-07-24 16:51:19 -04:00
Blake Watters
a0cb33d391
Updates comments on inferMappingsFromObjectTypes and add documentation to the Object Mapping document. Defaulted it to off
...
as it can complicate things for KVC mappable data.
2011-07-24 12:28:42 -04:00
Blake Watters
3a5354c4a0
Added specs around behavior of empty mappable payloads and RKObjectLoaderDelegate invocations. Fixed issue where empty hashes ({}) would result in no delegate methods being invoked. fixes #225
2011-07-24 01:25:50 -04:00
Blake Watters
570b13ca07
Updated Object Mapping documentation, added support for inferring object mappings based off of the type of the object used in postObject:, putObject:, etc. Made KVC validation optional.
2011-07-23 23:47:03 -04:00
Blake Watters
80366afa84
Added Object Mapping block helpers to RKObjectManager and RKObjectMapping. These enable you to perform ad-hoc object mapping very easily. Extended RKObjectRouter to match on superclasses if no specific route is found. This is helpful when using mocked objects with frameworks like Kiwi. fixes #238
2011-07-23 23:04:16 -04:00
Blake Watters
d12568580d
Merge pull request #234 from GateGuru/unit-testing-and-queue-fixes
...
Unit testing and queue fixes
2011-07-22 05:15:01 -07:00
Blake Watters
f1b0815e1a
Fixes to some violations of the contracts around delegate methods and background threads
2011-07-21 22:01:47 -04:00
Blake Watters
b778af11d7
Fix for issue where authentication challenges without credentials would cause stream errors when coupled with an RKParams (NSInputStream) based params payload
2011-07-21 21:47:02 -04:00
Blake Watters
7246afc998
Fixes to enable RestKit Core Data to be easily unit tested from a Unit Testing bundle. Improved thread safety in the request queue and fixed an issue where requests dispatched from background threads would not get callback methods due to thread termination. The request queue now guarantees requests are sent from the main thread.
2011-07-21 11:33:17 -04:00
Blake Watters
ae29401841
Added specs for zero-length Content-Length header when params is nil or empty
2011-07-20 22:56:22 -04:00
Victor Kryukov
a40dcba0f9
Preserve trailing slash in resource path
2011-07-16 18:39:44 +04:00
Blake Watters
40eb842dcc
Store new objects by lookupValue instead of primaryKeyValue. This avoids creation of duplicated objects the are manufactured by findOrCreateInstanceOfEntity:
2011-07-07 22:40:46 -04:00
Blake Watters
73fb461a8b
Reworked object mapping behaviors to better accommodate situations where the server side responds with a successful status code and a payload that does not contain any mappable attributes or relationships. We now consider this to be successful. If a mapping operation is performed that does not result in any mappings being applied, it will return NO without setting an error. If an instance of RKObjectMapper is invoked that does not find any mappable content in the payload, this will result in an unmappable content error. The object loader guards against this by not attempting to map any empty payloads. This should ensure that you only get the unmappable content error if you have asked RK to load and map a payload it cannot find an object mapping for.
2011-07-07 09:53:46 -04:00
Blake Watters
6de429051b
Merge pull request 196
...
commit 802d47753c067c6e84463e7aee7bae5454c9520b
Author: Cédric Luthi <cedric.luthi@gmail.com >
Date: Thu Jul 7 02:56:09 2011 +0200
Use stringByAppendingPathComponent: for concatenating paths
2011-07-06 22:09:01 -04:00
Blake Watters
c171bed7d3
Don't generate an unmappable content error if a successful status code is returned along with an empty response body. This enables the use of the status code to indicate success without any content for mapping. In these cases, we wrap the targetObject of the loader into a RKObjectMappingResult at the @"" keyPath so that the delegates are invoked as expected. closes #189
2011-07-06 22:01:10 -04:00
Blake Watters
42067b9036
Avoid exception from nil errors during object loader error reporting. fixes #191
2011-07-06 17:04:18 -04:00
Blake Watters
c7d8d0db3b
Fix and test coverage for base URLs containing a path
2011-07-06 15:57:05 -04:00
Blake Watters
6376274900
Fixes for URL encoding of paramters in GET request. closes #193
2011-07-06 15:27:40 -04:00
Blake Watters
2b8379cac3
Fix for missing prototype warnings due to not including void in the parameters list for C functions that take no arguments.
2011-07-06 10:10:21 -04:00
Blake Watters
82ce444489
Unwind nil behavior introduced in previous commit and add test coverage for asObject behaviors.
2011-07-05 17:22:27 -04:00
Blake Watters
dddc4c3d0a
Fix for crash when coercing an empty object mapping result set into a singular result with asObject. closes #190
2011-07-05 16:56:34 -04:00
Blake Watters
e86507f4ed
Bug fix for potential invocation of setObject:forKey: with a nil key value
2011-07-05 16:30:16 -04:00
Blake Watters
348e86cbc8
Fix for inappropriate suspension of the main queue when using an IP address instead of a hostname.
2011-07-05 16:23:38 -04:00
Blake Watters
f0e8e8d44f
Coerce primary keys to strings in the thread-local lookup cache to handle lookups for numeric or string keys coming back in the JSON
2011-07-02 15:03:08 -04:00
Blake Watters
546eb627cd
Respect the root keyPath when constructing a temporary object mapping provider. Covers the case where an object mapping targeting nested content is being directly specified.
2011-07-02 11:04:56 -04:00
Blake Watters
aa6102f022
Cleaning up analyzer warnings in the cache
2011-07-01 10:00:18 -04:00
Blake Watters
72f26690ed
Fixing crash from over-release of RKParams.
2011-06-30 17:19:12 -04:00
Blake Watters
a78b4c654d
Added special 'App' logging component for logging messages via RKLog() from your app. closes #183
2011-06-30 15:11:58 -04:00
Blake Watters
1c7f90c6ad
Added build conditional to ensure RestKit builds for OS X
2011-06-30 13:59:30 -04:00
Blake Watters
3b89382da7
Fix broken test around creation of request serialization
2011-06-30 13:11:31 -04:00
Jeremy Ellison
ce445a284e
fix indentation
2011-06-30 12:54:03 -04:00
Jeremy Ellison
8ce9bb83a5
Fix crash when trying to call HTTPBody on params objects that do no respond to it.
...
Solution is to not cache _params objects using HTTPBodyStreams in stead of HTTPBody.
2011-06-30 12:54:03 -04:00
Jeremy Ellison
eea75bdb3c
Allow Timeout caching and ETag caching to play nice with each other. Update the internal cache date when we get a 304 back.
2011-06-30 12:54:03 -04:00
Jeremy Ellison
ffe46ffeaa
If the RKObjectLoaderTTModel wants to load without Disk cache (TTURLRequestCachePolicyDisk), tell the object loader not to use the RK cache.
2011-06-30 12:54:03 -04:00
Jeremy Ellison
f98566b837
Implement Timeout Based Caches
2011-06-30 12:54:02 -04:00
Duncan Lewis
403bf29f57
Added helper functions to RKObjectSerializer to map local objects into json
2011-06-30 12:28:28 -04:00
Blake Watters
7053a8ca97
Add support for sending objects of one type and getting back another. Target object has been disambiguated into sourceObject and targetObject
...
and act independently with regards to serialization and destination mapping. When you leverage the getObject:mapResponseWith: flavor of methods,
the type of your sourceObject is checked with the destination type of the object mapping. If they agree, it is assumed that you are trying to update
the object with the results of the mapping and targetObject is set appropriately. If they do not match, the targetObject is set to nil so that new
objects will be loaded. closes #161 , #168
2011-06-30 10:33:39 -04:00
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
e18c1f2811
Merge pull request #181 from dhilus/master
...
YAJL serialization option modified so NSURL properties are serialized as String.
2011-06-30 05:18:13 -07:00
Rémy SAISSY
69460fdc4f
YAJLGenOptionsIncludeNone -> YAJLGenOptionsIncludeUnsupportedTypes thus enabling NSURL properties to be serialized as string.
2011-06-30 09:40:41 +02: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
5a2f937a52
Reworked notifications for consistency with Cocoa idioms. Simplified code paths through the queue. Tweaked the logging for easier info at the Debug level without having to drop down to Trace.
2011-06-29 16:18:18 -04:00
Blake Watters
853704b2fd
Rework notifications to allow request queue to observe only the requests it dispatches instead of all of them. Fixes incorrectly decrementing loading count.
2011-06-29 15:36:10 -04:00
Blake Watters
6faa525344
Added specs and support for either failing out the mapping operation or skipping over an attribute depending on key/value validation response. If NO is returned and a validation error is returned, the mapping operation will fail. If NO is returned without an error, the attribute will be skipped and a warning will be logged. You can also mutate the values. closes #166
2011-06-29 15:07:43 -04:00
Scott Penrose
41071ad61a
Added Key-Value validation checking during object mapping operation. If you return NO it will continue mapping but skip that key path. If you set the error it will error out of object mapping operation. Issue #166
2011-06-29 14:11:00 -04:00
Blake Watters
4b4d3d1af6
Remove dead RKRailsRouter code. fixes #178
2011-06-29 14:08:21 -04:00