Skip to content

Commit 89d3ce9

Browse files
committedOct 28, 2019
feat: use functions with receiver in hasPactWith()
This gives a more idiomatic Kotlin DSL experience. Instead of hasPactWith("consumer") { c -> c.pactSource = "foo" } you will write: hasPactWith("consumer") { pactSource = "foo" }
1 parent 78b0e54 commit 89d3ce9

File tree

1 file changed

+4
-5
lines changed
  • provider/pact-jvm-provider/src/main/kotlin/au/com/dius/pact/provider

1 file changed

+4
-5
lines changed
 

‎provider/pact-jvm-provider/src/main/kotlin/au/com/dius/pact/provider/ProviderInfo.kt

+4-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import org.apache.commons.lang3.builder.HashCodeBuilder
88
import org.apache.commons.lang3.builder.ToStringBuilder
99
import java.io.File
1010
import java.net.URL
11-
import java.util.function.Consumer
1211

1312
/**
1413
* Provider Info Config
@@ -41,16 +40,16 @@ open class ProviderInfo @JvmOverloads constructor (
4140

4241
override fun toString() = ToStringBuilder.reflectionToString(this)
4342

44-
open fun hasPactWith(consumer: String, closure: Consumer<ConsumerInfo>): ConsumerInfo {
43+
open fun hasPactWith(consumer: String, closure: ConsumerInfo.() -> Unit): ConsumerInfo {
4544
val consumerInfo = ConsumerInfo(consumer)
4645
consumers.add(consumerInfo)
47-
closure.accept(consumerInfo)
46+
consumerInfo.closure()
4847
return consumerInfo
4948
}
5049

51-
open fun hasPactsWith(consumersGroupName: String, closure: Consumer<ConsumersGroup>): List<IConsumerInfo> {
50+
open fun hasPactsWith(consumersGroupName: String, closure: ConsumersGroup.() -> Unit): List<IConsumerInfo> {
5251
val consumersGroup = ConsumersGroup(consumersGroupName)
53-
closure.accept(consumersGroup)
52+
consumersGroup.closure()
5453

5554
return setupConsumerListFromPactFiles(consumersGroup)
5655
}

0 commit comments

Comments
 (0)
Please sign in to comment.