diff options
author | Jakob Odersky <jakob@odersky.com> | 2017-04-01 13:21:15 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2017-04-01 13:21:15 -0700 |
commit | 26aa8adc30a84d983d020e34b488ac22a31cb544 (patch) | |
tree | 5e2cee54da5f64011f56a85c4b09bd1add4eacc7 /crashboxd/src/main/scala/io/crashbox/ci/yaml/YamlReader.scala | |
parent | 8a4ebe76200a2e570bd959d8780c3c0a0bf71d5c (diff) | |
download | crashbox-ci-26aa8adc30a84d983d020e34b488ac22a31cb544.tar.gz crashbox-ci-26aa8adc30a84d983d020e34b488ac22a31cb544.tar.bz2 crashbox-ci-26aa8adc30a84d983d020e34b488ac22a31cb544.zip |
Add yaml parser and docker executor
Diffstat (limited to 'crashboxd/src/main/scala/io/crashbox/ci/yaml/YamlReader.scala')
-rw-r--r-- | crashboxd/src/main/scala/io/crashbox/ci/yaml/YamlReader.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/crashboxd/src/main/scala/io/crashbox/ci/yaml/YamlReader.scala b/crashboxd/src/main/scala/io/crashbox/ci/yaml/YamlReader.scala new file mode 100644 index 0000000..f486676 --- /dev/null +++ b/crashboxd/src/main/scala/io/crashbox/ci/yaml/YamlReader.scala @@ -0,0 +1,24 @@ +package io.crashbox.ci +package yaml + +trait YamlReader[A] { + + def read(yml: YamlValue): A + + protected def formatError(found: YamlValue, required: String) = { + val foundType = found match { + case _: YamlString => "string" + case _: YamlSeq => "sequence" + case _: YamlMap => "mapping" + } + + throw new YamlFormatException( + s"$found is of type $foundType, required: $required" + ) + } + + protected def readError(node: YamlValue, msg: String) = { + throw new YamlFormatException(node.toString + ": " + msg) + } + +} |