OSDN Git Service

ArrayをSetに変更
[kcd/KCD.git] / KCD / IgnoreCommand.swift
index bd65f81..11cda4c 100644 (file)
@@ -8,20 +8,35 @@
 
 import Cocoa
 
-class IgnoreCommand: JSONCommand {
-    private static let ignores: [String] = {
+final class IgnoreCommand: JSONCommand {
+    
+    private static let ignores: Set<String> = {
+        
         guard let url = Bundle.main.url(forResource: "IgnoreCommand", withExtension: "plist"),
-            let array = NSArray(contentsOf: url) as? [String]
-            else { fatalError("Can not read IgnoreCommand.plist") }
-        return array
+            let array = NSArray(contentsOf: url) as? [String] else {
+                
+                fatalError("Can not read IgnoreCommand.plist")
+        }
+        
+        return Set(array)
     }()
     
-    override class func canExecuteAPI(_ api: String) -> Bool {
-        if ignores.contains(api) { return true }
-        if api.hasPrefix("/kcsapi/api_req_ranking/") { return true }
+    override class func canExecuteAPI(_ api: API) -> Bool {
+        
+        if api.includs(in: ignores) {
+            
+            return true
+        }
+        if api.isRanking() {
+            
+            return true
+        }
+        
         return false
     }
+    
     override func execute() {
+        
         // do nothing
     }
 }