Commit Graph

1105 Commits

Author SHA1 Message Date
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
b56d7ff661 Make RKObjectPaginator.h public
Without this change I was having trouble using it
in my super project.
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
Blake Watters
d0b859484e Merge branch 'feature/513-dates-before-1970' 2012-01-20 09:36:42 -05:00
Marlon Andrade
377d350259 adding treatment for dates before jan 1st 1970 2012-01-20 09:36:22 -05:00
Blake Watters
55c72a5f35 Merge branch 'bmorton-timeouts' 2012-01-20 09:25:50 -05:00
Brian Morton
035e7732b8 Add RKRequestConnectionTimeoutError to throw when our connection timeout has been exceeded. 2012-01-20 09:20:09 -05:00
Brian Morton
90716335f5 Add support for timing out an RKRequest via a timeoutTimer and a timeout property.
* Add timeoutInterval property on RKRequest with a default value of 120.0
* Add timeout method that is called by the timer when the timeout interval has been exceeded to cancel the request and return an error via didFailLoadWithError:
* Add invalidateTimeoutTimer method that is called by RKResponse when the NSURLConnection begins receiving data.
* Add call to invalidateTimeoutTimer in RKRequest cancelAndInformDelegate: so we don't have a dangling timer.
* Add timer creation to sendAsynchronously and sendSynchronously
2012-01-20 09:19:45 -05:00
Brian Morton
8051fbd9ab Invalidate the RKRequest timer in RKResponse when the NSURLConnection begins receiving data. 2012-01-20 09:17:26 -05:00
Brian Morton
8946f4d702 Add timeoutInterval property to RKClient so that it can be passed on to RKRequest. 2012-01-20 09:17:16 -05:00
Brian Morton
dab403a9c1 Responsibly invalidate the timeoutTimer when the RKRequest is deallocated. Move location of timer creation for asynchronous request. 2012-01-20 09:17:00 -05:00
Brian Morton
15d05f1493 Move the invalidateTimeoutTimer call in RKResponse from didReceiveData to didReceiveResponse and didFailWithError so we are sure its always called and as early as possible. 2012-01-20 09:15:35 -05:00
Brian Morton
23858146fc Add /timeout route to fake a long response for testing RKRequest's timeout interval. We need to leave this around 4 seconds so we don't hold up the ruby process too long and cause the tests launched after to fail. 2012-01-20 09:15:20 -05:00
Brian Morton
b88bba9853 Add test for confirming that an RKClient object can pass through a timeoutInterval to a request. 2012-01-20 09:10:59 -05:00
Brian Morton
f9dd0e9999 Add cast to int to failureError.code so this test works on both the iOS and Mac OS X frameworks. 2012-01-20 09:10:35 -05:00
Blake Watters
e3264a7bfb Merge pull request #504 from bmorton/ordered-set
Integrate support for NSOrderedSet
2012-01-14 08:24:14 -08:00
Brian Morton
3f0844f0d3 Add test to make sure an NSOrderedSet can be mapped to an NSArray. 2012-01-14 01:38:23 -08:00
Brian Morton
0f3f3d5702 Add support for mapping an array to an NSOrderedSet. 2012-01-13 00:04:40 -08:00
Brian Morton
3cf2ea5824 Add test for an array being mapped to an NSOrderedSet. 2012-01-13 00:04:16 -08:00
Blake Watters
d5da3ae42e Updated visual install guide images to reflect build process changes 2012-01-11 22:27:21 -05:00
Blake Watters
8363d35e30 Remove 'file' from Specs/Uploads group. This is a test asset that should not be part of the project. 2012-01-09 21:33:13 -05:00
Ray Fix
7be7da61cb Fix for ocassional crashes using http basic auth 2012-01-09 20:10:39 -05:00
David Young-Chan Kay
6a18ebd91b RKRequest: Added null check for HTTP Basic username and password. Closes #493. 2012-01-09 20:08:26 -05:00
Blake Watters
89a4e579fd Revert "Merge branch 'nolanw-request-delegate-gets-failed-auth-challenge'"
This reverts commit d6510d963f, reversing
changes made to a1e2061106.
2012-01-09 19:53:23 -05:00
Blake Watters
722d08095b Remove UISpecRunner gem 2012-01-04 08:49:48 -05:00
Blake Watters
4d99d28a4d Merge pull request #477 from rayfix/fix-log-root-key-path
Fixed logging of root key path on object mapping. Remove TODO comment.
2011-12-16 21:23:21 -08:00
chethan
ea0cbed8dc Fixed logging of root key path on object mapping. Remove TODO comment that is done. 2011-12-16 18:20:24 -08:00
Blake Watters
091b49a553 Bump version number 2011-12-15 19:32:13 -05:00
Blake Watters
af7a7d22b6 Lowered logging level for body from Info to Debug 2011-12-15 13:41:00 -05:00
Blake Watters
d6510d963f Merge branch 'nolanw-request-delegate-gets-failed-auth-challenge' 2011-12-13 21:17:44 -05:00
Blake Watters
e5e05a0563 Added delegate callback when authentication challenge fails. closes #462 2011-12-13 21:16:30 -05:00
Julien Grimault
a1e2061106 Modified asserts in RKObjectLoader processMappingResult to allow synchronous requests. 2011-12-13 20:58:15 -05:00
Blake Watters
d488452bcd Fix issues with string ordering on OS X vs. iOS in unit tests 2011-12-13 20:57:26 -05:00
Blake Watters
4f24470d13 Merge pull request #465 from rayfix/url-encoding-fix
Encoded params from RKURLs getting extra 25's.
2011-12-13 15:02:37 -08:00
Matthias Bartelmeß
e123eaa5fb Updated RKResponse to respect the encoding returned in the Content-Type header (charset=XXX). Exposed
encoding information as methods on RKResponse
2011-12-13 17:03:31 -05:00
Blake Watters
dd80df135d Merge pull request #467 from rayfix/test-fix-2
Fix test: date conversion failure
2011-12-13 13:09:02 -08:00