From baf3feb6e2123109edb3e58c6a021d5007e8f7fb Mon Sep 17 00:00:00 2001 From: david denton Date: Sat, 7 Mar 2015 21:15:19 +0000 Subject: [PATCH] dave - removed DynamicPathParameter as unused --- .../io/github/daviddenton/fintrospect/ModuleRoute.scala | 2 +- .../fintrospect/parameters/DynamicPathParameter.scala | 9 --------- .../daviddenton/fintrospect/parameters/Parameter.scala | 1 - .../github/daviddenton/fintrospect/parameters/Path.scala | 8 +++++--- .../fintrospect/parameters/PathParameter.scala | 5 +++-- .../fintrospect/renderers/JsonRendererTest.scala | 2 +- 6 files changed, 10 insertions(+), 17 deletions(-) delete mode 100644 src/main/scala/io/github/daviddenton/fintrospect/parameters/DynamicPathParameter.scala diff --git a/src/main/scala/io/github/daviddenton/fintrospect/ModuleRoute.scala b/src/main/scala/io/github/daviddenton/fintrospect/ModuleRoute.scala index e6472878..808d7b19 100644 --- a/src/main/scala/io/github/daviddenton/fintrospect/ModuleRoute.scala +++ b/src/main/scala/io/github/daviddenton/fintrospect/ModuleRoute.scala @@ -4,7 +4,7 @@ import com.twitter.finagle.http.path.Path import io.github.daviddenton.fintrospect.parameters.PathParameter class ModuleRoute(val description: Description, rootPath: Path, pathParams: Seq[PathParameter[_]]) { - val params = pathParams.flatMap(_.toParameter) ++ description.params + val params = pathParams.flatten ++ description.params override def toString: String = (description.complete(rootPath).toString :: pathParams.map(_.toString).toList).mkString("/") } diff --git a/src/main/scala/io/github/daviddenton/fintrospect/parameters/DynamicPathParameter.scala b/src/main/scala/io/github/daviddenton/fintrospect/parameters/DynamicPathParameter.scala deleted file mode 100644 index 9eb91246..00000000 --- a/src/main/scala/io/github/daviddenton/fintrospect/parameters/DynamicPathParameter.scala +++ /dev/null @@ -1,9 +0,0 @@ -package io.github.daviddenton.fintrospect.parameters - -import scala.reflect.ClassTag - -class DynamicPathParameter[T](name: String, parse: (String => Option[T]))(implicit ct: ClassTag[T]) extends PathParameter[T](name)(ct) { - def unapply(str: String): Option[T] = parse(str) - override def toString = s"{$name}" - override val toParameter: Option[PathParameter[_]] = Some(this) -} diff --git a/src/main/scala/io/github/daviddenton/fintrospect/parameters/Parameter.scala b/src/main/scala/io/github/daviddenton/fintrospect/parameters/Parameter.scala index 20982b15..7b860141 100644 --- a/src/main/scala/io/github/daviddenton/fintrospect/parameters/Parameter.scala +++ b/src/main/scala/io/github/daviddenton/fintrospect/parameters/Parameter.scala @@ -6,7 +6,6 @@ import scala.reflect.ClassTag abstract class Parameter[T] protected[fintrospect](val name: String, val where: String, val required: Boolean)(implicit ct: ClassTag[T]) { val paramType = decapitalize(ct.runtimeClass.getSimpleName) - override def toString = name } diff --git a/src/main/scala/io/github/daviddenton/fintrospect/parameters/Path.scala b/src/main/scala/io/github/daviddenton/fintrospect/parameters/Path.scala index 0c5b8e02..270c5f68 100644 --- a/src/main/scala/io/github/daviddenton/fintrospect/parameters/Path.scala +++ b/src/main/scala/io/github/daviddenton/fintrospect/parameters/Path.scala @@ -8,13 +8,15 @@ object Path extends Parameters[PathParameter]() { override def toString = s"{$name}" - override val toParameter: Option[PathParameter[_]] = Some(this) + override def iterator: Iterator[PathParameter[_]] = Some(this).iterator } - def fixed(value: String): PathParameter[String] = new PathParameter[String](value) { - val toParameter: Option[PathParameter[_]] = None + + override def toString = name override def unapply(str: String): Option[String] = if (str == value) Some(str) else None + + override def iterator: Iterator[PathParameter[_]] = Nil.iterator } } diff --git a/src/main/scala/io/github/daviddenton/fintrospect/parameters/PathParameter.scala b/src/main/scala/io/github/daviddenton/fintrospect/parameters/PathParameter.scala index c0b2b9de..554b2b67 100644 --- a/src/main/scala/io/github/daviddenton/fintrospect/parameters/PathParameter.scala +++ b/src/main/scala/io/github/daviddenton/fintrospect/parameters/PathParameter.scala @@ -2,7 +2,8 @@ package io.github.daviddenton.fintrospect.parameters import scala.reflect.ClassTag -abstract class PathParameter[T](name: String)(implicit ct: ClassTag[T]) extends Parameter[T](name, "path", true)(ct) { - val toParameter: Option[PathParameter[_]] +abstract class PathParameter[T](name: String)(implicit ct: ClassTag[T]) + extends Parameter[T](name, "path", true)(ct) + with Iterable[PathParameter[_]] { def unapply(str: String): Option[T] } diff --git a/src/test/scala/io/github/daviddenton/fintrospect/renderers/JsonRendererTest.scala b/src/test/scala/io/github/daviddenton/fintrospect/renderers/JsonRendererTest.scala index 11c12df0..652bc1f2 100644 --- a/src/test/scala/io/github/daviddenton/fintrospect/renderers/JsonRendererTest.scala +++ b/src/test/scala/io/github/daviddenton/fintrospect/renderers/JsonRendererTest.scala @@ -24,7 +24,7 @@ abstract class JsonRendererTest(name: String, renderer: FintrospectModule.Render val expected = parse(Source.fromInputStream(renderer.getClass.getResourceAsStream(s"$name.json")).mkString) val actual = Await.result(module.toService(Request("/"))).content.toString(Utf8) - // println(actual) +// println(actual) parse(actual) should be === expected } }