aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/generators.scala
diff options
context:
space:
mode:
authorSergey Nastich <nastich@users.noreply.github.com>2018-04-03 10:57:14 -0700
committerGitHub <noreply@github.com>2018-04-03 10:57:14 -0700
commitbdf9ec57f213eb652ba5fb3b21973d028034d40e (patch)
tree2d267f0dc9be85e6bb9bc4286868b37d12315fa7 /src/main/scala/xyz/driver/core/generators.scala
parent322bbc9010e20195e5b0bb58e703961738ffb89d (diff)
downloaddriver-core-bdf9ec57f213eb652ba5fb3b21973d028034d40e.tar.gz
driver-core-bdf9ec57f213eb652ba5fb3b21973d028034d40e.tar.bz2
driver-core-bdf9ec57f213eb652ba5fb3b21973d028034d40e.zip
Add enumeratum support to JSON format and generators (#144)v1.8.12
* Add enumeratum support to JSON format and generators * Move enumeratum serializers into their own object. Add enumeratum unmarshaller. Add entities to derive JsonFormats instead of having to type them externally.
Diffstat (limited to 'src/main/scala/xyz/driver/core/generators.scala')
-rw-r--r--src/main/scala/xyz/driver/core/generators.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/generators.scala b/src/main/scala/xyz/driver/core/generators.scala
index 143044c..3c85447 100644
--- a/src/main/scala/xyz/driver/core/generators.scala
+++ b/src/main/scala/xyz/driver/core/generators.scala
@@ -1,5 +1,6 @@
package xyz.driver.core
+import enumeratum._
import java.math.MathContext
import java.util.UUID
@@ -91,6 +92,8 @@ object generators {
def oneOf[T](items: Set[T]): T = items.toSeq(nextInt(items.size))
+ def oneOf[T <: EnumEntry](enum: Enum[T]): T = oneOf(enum.values: _*)
+
def arrayOf[T: ClassTag](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Array[T] =
Array.fill(nextInt(maxLength, minLength))(generator)