SkipReport.kt
package com.sebastmar.module.report.internal.domain
import com.sebastmar.module.report.internal.SkipReportKeyword
import com.sebastmar.module.report.internal.system.SystemWrapper
/**
* Interface for determining if a report generation should be skipped.
*/
internal interface SkipReport {
operator fun invoke(): Boolean
}
/**
* Checks if the pull request body contains a specific keyword defined in [SkipReportKeyword] to determine
* if the report generation should be skipped.
*/
internal class SkipReportImpl(
private val systemWrapper: SystemWrapper,
private val skipReportKeyword: SkipReportKeyword,
) : SkipReport {
override fun invoke(): Boolean = systemWrapper.prBody().contains(skipReportKeyword.value)
}