Determination+helper.swift 928 B

123456789101112131415161718192021222324252627282930
  1. import CoreData
  2. import Foundation
  3. extension OrefDetermination {
  4. static func fetch(_ predicate: NSPredicate = .predicateForOneDayAgo) -> NSFetchRequest<OrefDetermination> {
  5. let request = OrefDetermination.fetchRequest()
  6. request.sortDescriptors = [NSSortDescriptor(keyPath: \OrefDetermination.deliverAt, ascending: false)]
  7. request.predicate = predicate
  8. request.fetchLimit = 1
  9. return request
  10. }
  11. }
  12. extension OrefDetermination {
  13. var reasonParts: [String] {
  14. reason?.components(separatedBy: "; ").first?.components(separatedBy: ", ") ?? []
  15. }
  16. var reasonConclusion: String {
  17. reason?.components(separatedBy: "; ").last ?? ""
  18. }
  19. }
  20. extension NSPredicate {
  21. static var enactedDetermination: NSPredicate {
  22. let date = Date.halfHourAgo
  23. return NSPredicate(format: "received == %@ AND deliverAt >= %@", true as NSNumber, date as NSDate)
  24. }
  25. }