summaryrefslogtreecommitdiff
path: root/cask/test/src/test/cask/Decorator.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cask/test/src/test/cask/Decorator.scala')
-rw-r--r--cask/test/src/test/cask/Decorator.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/cask/test/src/test/cask/Decorator.scala b/cask/test/src/test/cask/Decorator.scala
new file mode 100644
index 0000000..0e31019
--- /dev/null
+++ b/cask/test/src/test/cask/Decorator.scala
@@ -0,0 +1,26 @@
+package test.cask
+import cask.internal.Router.ArgReader
+import cask.model.ParamContext
+
+
+object Decorator extends cask.MainRoutes{
+ class myDecorator extends cask.main.Routes.Decorator {
+ type InputType = Int
+
+ def handle(ctx: ParamContext) = Map("extra" -> 31337)
+
+ def parseMethodInput[T] = new ArgReader[Int, T, ParamContext] {
+ def arity = 0
+
+ def read(ctx: ParamContext, label: String, input: Int) = 0.asInstanceOf[T]
+ }
+ }
+
+ @myDecorator()
+ @cask.get("/hello/:world")
+ def hello(world: String)(extra: Int) = {
+ world + extra
+ }
+
+ initialize()
+}