Skip to content

Commit ad29faa

Browse files
committed
Add take method.
Former-commit-id: 3b3af2a
1 parent 54b5a02 commit ad29faa

File tree

5 files changed

+24
-13
lines changed

5 files changed

+24
-13
lines changed

MVVMReactiveCocoa/ViewModel/MRCNewsViewModel.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ - (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
115115
fetchSignal = [[self.services client] fetchPerformedEventsForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage];
116116
}
117117

118-
return [[[fetchSignal
118+
return [[[[fetchSignal
119+
take:self.perPage]
119120
collect]
120121
doNext:^(NSArray *events) {
121122
if (self.isCurrentUser && page == 1) { // Cache the first page

MVVMReactiveCocoa/ViewModel/MRCOwnedReposViewModel.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,10 @@ - (NSArray *)fetchLocalData {
125125
}
126126

127127
- (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
128-
return [[self.services
128+
return [[[self.services
129129
client]
130-
fetchUserRepositories].collect;
130+
fetchUserRepositories]
131+
collect];
131132
}
132133

133134
- (NSArray *)sectionIndexTitlesWithRepositories:(NSArray *)repositories {

MVVMReactiveCocoa/ViewModel/MRCPublicReposViewModel.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,11 @@ - (NSArray *)fetchLocalData {
5353

5454
- (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
5555
@weakify(self)
56-
return [[[self.services
56+
return [[[[[self.services
5757
client]
58-
fetchPublicRepositoriesForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage].collect
58+
fetchPublicRepositoriesForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage]
59+
take:self.perPage]
60+
collect]
5961
map:^(NSArray *repositories) {
6062
@strongify(self)
6163
if (page != 1) {

MVVMReactiveCocoa/ViewModel/MRCStarredReposViewModel.m

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,22 @@ - (NSArray *)fetchLocalData {
7979

8080
- (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
8181
if (self.isCurrentUser && self.entryPoint == MRCStarredReposViewModelEntryPointHomepage) {
82-
return [[[self.services
82+
return [[[[self.services
8383
client]
84-
fetchUserStarredRepositories].collect
84+
fetchUserStarredRepositories]
85+
collect]
8586
map:^(NSArray *repositories) {
8687
for (OCTRepository *repo in repositories) {
8788
repo.starredStatus = OCTRepositoryStarredStatusYES;
8889
}
8990
return repositories;
9091
}];
9192
} else {
92-
return [[[[self.services
93+
return [[[[[[self.services
9394
client]
94-
fetchStarredRepositoriesForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage].collect
95+
fetchStarredRepositoriesForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage]
96+
take:self.perPage]
97+
collect]
9598
doNext:^(NSArray *repositories) {
9699
if (self.isCurrentUser) {
97100
for (OCTRepository *repo in repositories) {

MVVMReactiveCocoa/ViewModel/MRCUserListViewModel.m

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,11 @@ - (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
115115
};
116116

117117
if (self.type == MRCUserListViewModelTypeFollowers) {
118-
return [[[[[self.services
118+
return [[[[[[[self.services
119119
client]
120-
fetchFollowersForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage].collect
120+
fetchFollowersForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage]
121+
take:self.perPage]
122+
collect]
121123
map:^(NSArray *users) {
122124
for (OCTUser *user in users) {
123125
if (self.isCurrentUser) user.followerStatus = OCTUserFollowerStatusYES;
@@ -134,9 +136,11 @@ - (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
134136
}
135137
}];
136138
} else if (self.type == MRCUserListViewModelTypeFollowing) {
137-
return [[[[[self.services
139+
return [[[[[[[self.services
138140
client]
139-
fetchFollowingForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage].collect
141+
fetchFollowingForUser:self.user offset:[self offsetForPage:page] perPage:self.perPage]
142+
take:self.perPage]
143+
collect]
140144
map:^(NSArray *users) {
141145
for (OCTUser *user in users) {
142146
if (self.isCurrentUser) user.followingStatus = OCTUserFollowingStatusYES;

0 commit comments

Comments
 (0)