andrewmccall / scala-faker   0.0.5

GitHub

Scala port of the Ruby Faker

Scala versions: 2.12 2.11

Scala Faker

Maven Central Download BuildStatus Codacy Badge Codacy Badge

An implementation fo the Ruby faker library in scala. The intial implementation is a direct port of the ruby code to scala, updates have tried to make it more scala like.

This code uses modified YAML files from the ruby faker project and implements all the methods supported there.

Usage

Using the faker is as simple as creating a new faker and passing in keys.

val faker = new Faker()
val someString = faker("name.name")

Keys in strings

{} is the standard notation for embedding a key.

val string = "Hi! My name is #{Name.name}"
val result = faker(string)

Configuration

Locales

A faker can be configured for a different locale, allowing different languages and formats of keys to be returned. eg. UK Addresses.

val config = new Config(locale="en-GB")
val faker = new Faker(config)

Keys that are not found in the selected locale are automatically looked up in the en locale.

Random implementation

The default random implementation uses a ThreadlocalRandom.current() to generate random numbers. This can be overriden if for example you need to provide a seed for reproducibility by setting another subclass of java.util.Random in the config.

val myRandom = new Random(1)
val config = new Config(random=myRandom)
val faker = new Faker(config) 

Adding additional keys

This section is a work in progress