Skip to content

Instantly share code, notes, and snippets.

@le0nidas
Created June 19, 2021 09:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save le0nidas/8e3c28538dfd699fde36a827f0681729 to your computer and use it in GitHub Desktop.
Save le0nidas/8e3c28538dfd699fde36a827f0681729 to your computer and use it in GitHub Desktop.
class TaskChecker {
private val safeSendTaskToAssigner: (Task) -> Unit = ::sendTaskToAssigner
fun check(task: Task): CheckResult {
if (isNotCreatedInCurrentWeek(task)) return Invalid
if (isResolved(task)) return Invalid
if (isNotAssigned(task)) return Invalid
return Valid
}
private fun isNotAssigned(task: Task): Boolean {
if (task.assignedTo != Nobody) return false
safeSendTaskToAssigner(task)
return true
}
private fun sendTaskToAssigner(task: Task) {
val connection = Connection()
val assigner = TaskAssigner(connection)
assigner.add(task)
}
//...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment