File tree Expand file tree Collapse file tree 5 files changed +24
-13
lines changed
MVVMReactiveCocoa/ViewModel Expand file tree Collapse file tree 5 files changed +24
-13
lines changed Original file line number Diff line number Diff line change @@ -115,7 +115,8 @@ - (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
115
115
fetchSignal = [[self .services client ] fetchPerformedEventsForUser: self .user offset: [self offsetForPage: page] perPage: self .perPage];
116
116
}
117
117
118
- return [[[fetchSignal
118
+ return [[[[fetchSignal
119
+ take: self .perPage]
119
120
collect ]
120
121
doNext: ^(NSArray *events) {
121
122
if (self.isCurrentUser && page == 1 ) { // Cache the first page
Original file line number Diff line number Diff line change @@ -125,9 +125,10 @@ - (NSArray *)fetchLocalData {
125
125
}
126
126
127
127
- (RACSignal *)requestRemoteDataSignalWithPage : (NSUInteger )page {
128
- return [[self .services
128
+ return [[[ self .services
129
129
client ]
130
- fetchUserRepositories ].collect ;
130
+ fetchUserRepositories ]
131
+ collect ];
131
132
}
132
133
133
134
- (NSArray *)sectionIndexTitlesWithRepositories : (NSArray *)repositories {
Original file line number Diff line number Diff line change @@ -53,9 +53,11 @@ - (NSArray *)fetchLocalData {
53
53
54
54
- (RACSignal *)requestRemoteDataSignalWithPage : (NSUInteger )page {
55
55
@weakify (self)
56
- return [[[self .services
56
+ return [[[[[ self .services
57
57
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 ]
59
61
map: ^(NSArray *repositories) {
60
62
@strongify (self)
61
63
if (page != 1 ) {
Original file line number Diff line number Diff line change @@ -79,19 +79,22 @@ - (NSArray *)fetchLocalData {
79
79
80
80
- (RACSignal *)requestRemoteDataSignalWithPage : (NSUInteger )page {
81
81
if (self.isCurrentUser && self.entryPoint == MRCStarredReposViewModelEntryPointHomepage) {
82
- return [[[self .services
82
+ return [[[[ self .services
83
83
client ]
84
- fetchUserStarredRepositories ].collect
84
+ fetchUserStarredRepositories ]
85
+ collect ]
85
86
map: ^(NSArray *repositories) {
86
87
for (OCTRepository *repo in repositories) {
87
88
repo.starredStatus = OCTRepositoryStarredStatusYES;
88
89
}
89
90
return repositories;
90
91
}];
91
92
} else {
92
- return [[[[self .services
93
+ return [[[[[[ self .services
93
94
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 ]
95
98
doNext: ^(NSArray *repositories) {
96
99
if (self.isCurrentUser ) {
97
100
for (OCTRepository *repo in repositories) {
Original file line number Diff line number Diff line change @@ -115,9 +115,11 @@ - (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
115
115
};
116
116
117
117
if (self.type == MRCUserListViewModelTypeFollowers) {
118
- return [[[[[self .services
118
+ return [[[[[[[ self .services
119
119
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 ]
121
123
map: ^(NSArray *users) {
122
124
for (OCTUser *user in users) {
123
125
if (self.isCurrentUser ) user.followerStatus = OCTUserFollowerStatusYES;
@@ -134,9 +136,11 @@ - (RACSignal *)requestRemoteDataSignalWithPage:(NSUInteger)page {
134
136
}
135
137
}];
136
138
} else if (self.type == MRCUserListViewModelTypeFollowing) {
137
- return [[[[[self .services
139
+ return [[[[[[[ self .services
138
140
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 ]
140
144
map: ^(NSArray *users) {
141
145
for (OCTUser *user in users) {
142
146
if (self.isCurrentUser ) user.followingStatus = OCTUserFollowingStatusYES;
You can’t perform that action at this time.
0 commit comments