Skip to content

Commit 00491ed

Browse files
committed
Refactor clean up login in storage
1 parent e12088e commit 00491ed

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

ExampleMVVM/Data/PersistentStorages/MoviesQueriesStorage/CoreDataStorage/CoreDataMoviesQueriesStorage.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ extension CoreDataMoviesQueriesStorage {
6565
var result = try context.fetch(request)
6666

6767
removeDuplicates(for: query, in: &result, inContext: context)
68-
removeMore(than: maxStorageLimit - 1, in: result, inContext: context)
68+
removeQueries(limit: maxStorageLimit - 1, in: result, inContext: context)
6969
}
7070

7171
private func removeDuplicates(for query: MovieQuery, in queries: inout [MovieQueryEntity], inContext context: NSManagedObjectContext) {
@@ -75,7 +75,7 @@ extension CoreDataMoviesQueriesStorage {
7575
queries.removeAll { $0.query == query.query }
7676
}
7777

78-
private func removeMore(than limit: Int, in queries: [MovieQueryEntity], inContext context: NSManagedObjectContext) {
78+
private func removeQueries(limit: Int, in queries: [MovieQueryEntity], inContext context: NSManagedObjectContext) {
7979
guard queries.count > limit else { return }
8080

8181
queries.suffix(queries.count - limit)

ExampleMVVM/Data/PersistentStorages/MoviesQueriesStorage/UserDefaultsStorage/UserDefaultsMoviesQueriesStorage.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ final class UserDefaultsMoviesQueriesStorage {
3434
}
3535
}
3636

37-
private func removeOldQueries(_ queries: [MovieQuery]) -> [MovieQuery] {
38-
return queries.count <= maxStorageLimit ? queries : Array(queries[0..<maxStorageLimit])
37+
private func removeQueries(limit: Int, in queries: [MovieQuery]) -> [MovieQuery] {
38+
return queries.count <= limit ? queries : Array(queries[0..<limit])
3939
}
4040
}
4141

4242
extension UserDefaultsMoviesQueriesStorage: MoviesQueriesStorage {
43+
4344
func fetchRecentsQueries(maxCount: Int, completion: @escaping (Result<[MovieQuery], Error>) -> Void) {
4445
DispatchQueue.global(qos: .userInitiated).async { [weak self] in
4546
guard let self = self else { return }
@@ -48,13 +49,14 @@ extension UserDefaultsMoviesQueriesStorage: MoviesQueriesStorage {
4849
completion(.success(queries))
4950
}
5051
}
52+
5153
func saveRecentQuery(query: MovieQuery, completion: @escaping (Result<MovieQuery, Error>) -> Void) {
5254
DispatchQueue.global(qos: .userInitiated).async { [weak self] in
5355
guard let self = self else { return }
5456
var queries = self.fetchMoviesQuries()
5557
queries = queries.filter { $0 != query }
5658
queries.insert(query, at: 0)
57-
self.persist(moviesQuries: self.removeOldQueries(queries))
59+
self.persist(moviesQuries: self.removeQueries(limit: self.maxStorageLimit, in: queries))
5860
completion(.success(query))
5961
}
6062
}

0 commit comments

Comments
 (0)