ababup1192
11/17/2016 - 8:27 PM

Main.scala

class Bar

case class Hoge(bar: Bar)

case object Foo {
  def ~>(x: Int): Int = {
    x
  }
}

object FlowHelpers {
  implicit class IntWithFlow(x: Int) {
    def ~>(bar: Bar): Hoge = {
      Hoge(bar)
    }
  }
}

object Main {
  import FlowHelpers._
  val foo = Foo
  val bar = new Bar

  foo ~> 1 ~> bar
}