summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-03-01 20:39:26 -0800
committerFuwn <[email protected]>2025-03-01 20:39:26 -0800
commitd0337f7c0956ad5f50945bc1f86791c660e66100 (patch)
treefec7e16c94de939838b11fe0d411eaf6170d149b
parentfeat: Development commit (diff)
downloadsora-testing-d0337f7c0956ad5f50945bc1f86791c660e66100.tar.xz
sora-testing-d0337f7c0956ad5f50945bc1f86791c660e66100.zip
feat: Development commit
-rw-r--r--Sora/Data/Booru/BooruManager.swift2
-rw-r--r--Sora/Data/Booru/BooruProvider.swift35
2 files changed, 15 insertions, 22 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift
index d7adc5b..2206387 100644
--- a/Sora/Data/Booru/BooruManager.swift
+++ b/Sora/Data/Booru/BooruManager.swift
@@ -21,7 +21,7 @@ class BooruManager: ObservableObject {
private let tagsCacheFileURL: URL? = FileManager.default.urls(
for: .cachesDirectory, in: .userDomainMask
).first?
- .appendingPathComponent("\(BooruProvider.safebooru.asFileNameComponent())_tags.json")
+ .appendingPathComponent("\(BooruProvider.safebooru.asFileNameComponent)_tags.json")
// MARK: - Computed Properties
var tags: [String] {
diff --git a/Sora/Data/Booru/BooruProvider.swift b/Sora/Data/Booru/BooruProvider.swift
index aa3acf3..3642da0 100644
--- a/Sora/Data/Booru/BooruProvider.swift
+++ b/Sora/Data/Booru/BooruProvider.swift
@@ -1,4 +1,4 @@
-enum BooruProvider: String, CaseIterable, Decodable, Encodable {
+enum BooruProvider: String, CaseIterable, Codable {
case danbooru = "Danbooru"
case gelbooru = "Gelbooru"
case konachan = "Konachan.com"
@@ -6,29 +6,22 @@ enum BooruProvider: String, CaseIterable, Decodable, Encodable {
case sakugabooru = "sakugabooru"
case yandere = "yande.re"
+ // MARK: - Properties
var domain: String {
- switch self {
- case .yandere:
- return "yande.re"
-
- case .konachan:
- return "konachan.com"
-
- case .sakugabooru:
- return "sakugabooru.com"
-
- case .safebooru:
- return "safebooru.org"
-
- case .gelbooru:
- return "gelbooru.com"
-
- case .danbooru:
- return "danbooru.donmai.us"
- }
+ Self.domains[self] ?? rawValue.lowercased()
}
- func asFileNameComponent() -> String {
+ var asFileNameComponent: String {
rawValue.lowercased().replacingOccurrences(of: ".", with: "_")
}
+
+ // MARK: - Private
+ private static let domains: [Self: String] = [
+ .yandere: "yande.re",
+ .konachan: "konachan.com",
+ .sakugabooru: "sakugabooru.com",
+ .safebooru: "safebooru.org",
+ .gelbooru: "gelbooru.com",
+ .danbooru: "danbooru.donmai.us",
+ ]
}