Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. trait RecordBase[T] extends Dynamic {
  2.   def typed[A]: A = error("doh");
  3.   var data: Option[Map[String, AnyRef]] = None
  4.  
  5.   def withData(map: Map[String, AnyRef]) = {
  6.     this.data = Some(map)
  7.     this.asInstanceOf[T]
  8.   }
  9.  
  10.   def applyDynamic(name: String)(args: Any*) = {
  11.     data.map(_(name)).getOrElse(error("Unknown field " + name))
  12.   }
  13.  
  14.   override def toString = getClass.getName + "[" + data.toString + "]"
  15. }