Commit Graph

789 Commits

Author SHA1 Message Date
Brian Morton
2a787e92a8 Clean up spacing in RKNotifications constants. 2012-02-09 00:05:21 -08:00
Brian Morton
1fa3ea400d Clean up documentation and formatting in RKOAuthClient header and implementation.
* Add example code to overview.
* Move <RKRequestDelegate> implementation detail to RKOAuthClient.m to clean up documentation
* Add missing documentation to all properties and methods.
* Rearrange sections for documentation purposes.
* Format blocks of documentation to match the project standard.
* Cleanup spacing in @property lines.
* Remove delegate assignment in initializers to be consistent with the rest of the project.
* Fix spec instances where the initializer with the delegate was used.
2012-02-09 00:05:21 -08:00
Brian Morton
e1f4e452e9 Clean up documentation and organization in RKClient header.
* Reorganize blocks of deprecated methods to move them to the bottom of the file.
* Add/change appledoc section headers to be consistent.
* Reorganize methods and properties to fit under their respective sections.
* Fix documentation whitespace to be consistent.
* Fill in missing documentation, parameter definitions, and return values.
* Clean up asterisk placements in variable declarations.
2012-02-09 00:05:21 -08:00
Brian Morton
58102533f1 Fixes an issue where the timeoutTimer wouldn't work for a synchronous request. Fixes #551.
* Removed the timer creation in RKRequest sendSynchronously.
* Pass the timeoutInterval to the NSURLRequest that is responsible for the synchronous request.
* Check if the error returned by NSURLRequest is NSURLErrorTimedOut and return an RKRequestConnectionTimeoutError if necessary.
* Add test for making sure the timeout works properly for a synchronous request.
2012-02-08 20:06:53 -08:00
Blake Watters
d4e3c0d559 Remove Appledoc significant asterisk in non-documenting comment 2012-02-02 09:21:00 -05:00
Brian Morton
f92fbb9f8e Fix issue that caused appledoc to fall over while building documentation.
There's currently a known issue for appledoc (https://github.com/tomaz/appledoc/issues/147) that causes it to fall over when it encounters a method declaration in an implementation that is missing a type (even if its in the header file).  While this is valid Objective-C, lets update this to allow appledoc to go on its merry little way.

* Fix 1 declaration relating to atKeyPath: in RKObjectMapper.m
* Fix 2 declarations relating to atKeyPath: in RKObjectMapper_Private.h
* Fix 1 declaration relating to atKeyPath: in RKObjectMappingOperation.m

All declarations were changed to declare keyPath as an (NSString *).
2012-01-28 13:40:38 -08:00
Blake Watters
c19a500ca8 Fix indentation inconsistencies in dealloc 2012-01-24 20:45:20 -05:00
Blake Watters
98cb113abf Invalidate the timer before dispatching error delegate callbacks 2012-01-24 20:45:17 -05:00
Christopher Swasey
b3c5ba62d2 Replace the XMLParser with one based on Insert-Witty-Name/XMLReader 2012-01-24 12:01:47 -05:00
Blake Watters
a719843c91 Drop the client prefix from the SSL validation properties added to RKRequest 2012-01-24 11:47:31 -05:00
Brian Morton
7174937bb8 Remove duplicate timer creation. Fixes #517. 2012-01-24 11:10:17 -05:00
Brian Morton
b2c4b2f677 Move RKRequest timeoutTimer creation to a helper method so that we can test the number of times it is invoked. 2012-01-24 11:10:17 -05:00
Blake Watters
9e0149fc0f Deprecate RKMakePathWithObjectAddingEscapes and cleanup usage within the Router 2012-01-24 09:51:05 -05:00
Christopher Swasey
7ea39690c5 Decouple RKResponse from sharedClient Fixes #430 2012-01-23 18:21:22 -05:00
Jeff Arena
5b9445cef0 Slight refactor of RKObjectPropertyInspector to expose a previously private, instance method as a public, class method, for use in processing transformable attributes in the associated CoreData category. Fixes #498. 2012-01-23 18:10:06 -05:00
Jeff Arena
7bf04e49ec Fix memory leaks in newly introduced queue code. Fixes #521. Fixes #522. 2012-01-23 17:52:29 -05:00
Brian Morton
b0fd4d4981 Remove duplicate timer creation. Fixes #517. 2012-01-23 10:33:13 -05:00
Brian Morton
7c84d89bdf Move RKRequest timeoutTimer creation to a helper method so that we can test the number of times it is invoked. 2012-01-23 10:33:07 -05:00
Jeff Arena
aac9abc0ad Audit uses of setValue:forKey: in mapping operations and replace with setValue:forKeyPath: where appropriate. Fixes #421. 2012-01-21 13:11:35 -05:00
Jeff Arena
774f32d7db Remove use of stringByAppendingPathComponent: in RKURL init so as to handle cases where the resourcePath is longer than 1024 characters (which should never happen). Fixes #321. 2012-01-20 16:44:10 -05:00
Christopher Swasey
886ec75283 Import http://boredzo.org/iso8601parser/ and add it as a defaultDateFormatter for parsing ISO8601 strings. Fixes #438 2012-01-20 15:13:45 -05:00
Jeff Arena
700456c8eb Add support for serializing NSOrderedSet. Fixes #514. 2012-01-20 14:27:19 -05:00
Jeff Arena
c0cd23a14d Add setBody:forMIMEType: method to RKRequest. Fixes #227. 2012-01-20 14:09:25 -05:00
Christopher Swasey
b1f4e1ffe5 RKObjectMappingOperation#parseDateFromString now transforms string representations of integers into dates as if they were unix timestamps 2012-01-20 12:59:16 -05:00
Jeff Arena
37f40d0d3a Add cacheTimeoutInterval as a settable property on RKClient and allow RKRequests to inherit the RKClient value when appropriate. Fixes #217 2012-01-20 12:40:50 -05:00
Jeff Arena
53ce2260bd Fixes #428, related to a misspelling in the request:didReceiveData:totalBytesReceived:totalBytesExpectedToReceive: 2012-01-20 12:13:40 -05:00
Jeff Arena
db0646ed19 Change NSNumber -> NSDate transformation to use doubleValue instead of intValue to ensure we do not lose precision on date conversion. Fixes #455. 2012-01-20 11:57:47 -05:00
Jeff Arena
507dfb0cfe Copy our requestQueue array prior to fast enumeration to ensure no mutations of the underlying array occur while we are looping 2012-01-20 11:52:37 -05:00
Jeff Arena
6e80ae62ae Fix for #486 2012-01-20 11:45:04 -05:00
Jeff Arena
fa44916184 Merge pull request #505 from spenrose/xml-attributes-bug
This fixes a bug where attributes of a object would also get added to parent object.
2012-01-20 08:36:51 -08:00
Jeff Arena
dbb12b37a8 Fix a few issues with broken tests 2012-01-20 11:29:17 -05:00
Blake Watters
5a92a661a8 Fix spelling errors for Cacheing -> Caching 2012-01-20 10:21:56 -05:00
Blake Watters
4b46ada794 Copy the error mapping to the temporary mapping provider to ensure error handling is correct. 2012-01-20 10:21:56 -05:00
Blake Watters
d69adccdd6 Added block callback handlers and tests for RKObjectPaginator. 2012-01-20 10:21:56 -05:00
Blake Watters
1d27f7bbbe Refactored object manager API's to de-emphasize delegates and removal duplication of blocks and delegates. Added block callbacks to RKObjectLoader. 2012-01-20 10:21:56 -05:00
Blake Watters
4bd12ea987 Apply rootKeyPath within the mapper rather than the object loader 2012-01-20 10:21:19 -05:00
Blake Watters
7c5ad95816 Updated all example projects to reflect changes. 2012-01-20 10:21:19 -05:00
Blake Watters
560032fd6d Additional documentation and miscellaneous test coverage. 2012-01-20 10:21:19 -05:00
Blake Watters
7a1dfd0857 Added support for selecting object mapping using pattern matching on resourcePath. 2012-01-20 10:21:19 -05:00
Blake Watters
3a8221aa08 Added support for configuring and retrieving object mapping via resource path patterns. 2012-01-20 10:21:19 -05:00
Blake Watters
6abbb34ef0 Introduced mapping contexts support.
Extended RKObjectMappingProvider to store collections of object mappings for different use cases. The framework
now stores object mappings, serialization mappings, an error mapping and a pagination mapping using the context
support. Contexts can be added to the provider via method calls or extension via a category.
2012-01-20 10:21:19 -05:00
Blake Watters
31dcb31188 Authored full documentation for the RKURL class 2012-01-20 10:21:18 -05:00
Blake Watters
89b02e7550 Refactored paginator to use RKURL rather than relying on its own baseURL and resource path. Expanded paginator documentation. 2012-01-20 10:21:18 -05:00
Blake Watters
415ef5a193 Cleaned up all broken specs related to RKObjectPaginator and RKURL changes 2012-01-20 10:21:18 -05:00
Blake Watters
412b0f9756 Work in progress on cleanup 2012-01-20 10:21:18 -05:00
Ray Fix
8ac6f66f99 Add an assert to prevent weird errors. 2012-01-20 10:21:18 -05:00
Ray Fix
ab3ec5495f Leaks brought to my attention by the static analyzer. 2012-01-20 10:21:18 -05:00
Ray Fix
3d03959d06 Polish RKObjectPaginator.
Initialization
I need the object paginator's object loaders to 
know about the various header settings of 
the RKClient when it constructs them.  However,
the paginator should not depend on an RKObjectManager.
The proposed solution is to pass a block that lets
an outsider custom configure the object loaders
that get created.  The object manager shows how
it is done.

Error Handling
We don't want to have a separate set of error handling
if using a paginator versus using an RKObjectLoader.
When an error is encountered, the paginator should 
allow access to the underlying RKObjectRequest that
produced the error.

Cleanup
The contained object loader needs to nil out the delegate
before going away.

NSLogs changed to RKLog

Pagination computation
The page count can be computed when the pagination 
parameters are mapped.  Note you must use the ceil
operation to compute this value.  If there are 3.1 pages
that means there are 4 pages.
2012-01-20 10:21:18 -05:00
Blake Watters
fb41eb73ec Work in progress on responsibility cleanup 2012-01-20 10:21:18 -05:00
Blake Watters
254553dc7c Initial implementation of RKObjectPaginator 2012-01-20 10:21:18 -05:00