Files
GitHawk/Classes/Issues/Merge/IssueMergeContextModel.swift
2018-07-14 18:22:55 -04:00

58 lines
1.3 KiB
Swift

//
// IssueMergeContextModel.swift
// Freetime
//
// Created by Ryan Nystrom on 2/11/18.
// Copyright © 2018 Ryan Nystrom. All rights reserved.
//
import Foundation
import IGListKit
final class IssueMergeContextModel: ListDiffable {
let id: String
let context: String
let state: StatusState
let login: String
let avatarURL: URL
let description: String
let targetURL: URL
init(
id: String,
context: String,
state: StatusState,
login: String,
avatarURL: URL,
description: String,
targetURL: URL
) {
self.id = id
self.context = context
self.state = state
self.login = login
self.avatarURL = avatarURL
self.description = description
self.targetURL = targetURL
}
// MARK: ListDiffable
func diffIdentifier() -> NSObjectProtocol {
return id as NSObjectProtocol
}
func isEqual(toDiffableObject object: ListDiffable?) -> Bool {
if self === object { return true }
guard let object = object as? IssueMergeContextModel else { return false }
return context == object.context
&& state == object.state
&& login == object.login
&& avatarURL == object.avatarURL
&& description == object.description
&& targetURL == object.targetURL
}
}