ivory-config


License

License

Categories

Categories

config Application Layer Libs Configuration
GroupId

GroupId

pl.mietkins
ArtifactId

ArtifactId

ivory-config_2.11
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

ivory-config
ivory-config
Project URL

Project URL

https://github.com/mietkins/ivory-config
Project Organization

Project Organization

pl.mietkins
Source Code Management

Source Code Management

https://github.com/mietkins/ivory-config.git

Download ivory-config_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/pl.mietkins/ivory-config_2.11/ -->
<dependency>
    <groupId>pl.mietkins</groupId>
    <artifactId>ivory-config_2.11</artifactId>
    <version>0.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/pl.mietkins/ivory-config_2.11/
implementation 'pl.mietkins:ivory-config_2.11:0.2.0'
// https://jarcasting.com/artifacts/pl.mietkins/ivory-config_2.11/
implementation ("pl.mietkins:ivory-config_2.11:0.2.0")
'pl.mietkins:ivory-config_2.11:jar:0.2.0'
<dependency org="pl.mietkins" name="ivory-config_2.11" rev="0.2.0">
  <artifact name="ivory-config_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='pl.mietkins', module='ivory-config_2.11', version='0.2.0')
)
libraryDependencies += "pl.mietkins" % "ivory-config_2.11" % "0.2.0"
[pl.mietkins/ivory-config_2.11 "0.2.0"]

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.8
org.scala-lang : scala-reflect jar 2.11.8
com.typesafe : config jar 1.3.0

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.11 jar 3.0.0

Project Modules

There are no modules declared in this project.

Welcome

This is SIMPLE automapper from com.typesafe.config.Config to case class powered by scala macros.

Supported types:

T ∈ [case class, Map[String, T] List[T], Option[T], String, Boolean, Int, Long, Double]

Build status

Build Status

Install

Add dependency

libraryDependencies += "pl.mietkins" %% "ivory-config" % "0.2.0"

Example

import com.typesafe.config.{ConfigFactory}
import pl.mietkins.ivory.config._

object example1 extends App {

  case class Pet(name : String)

  case class Hobby(name: String)

  case class Person(name: String, age: Long, hobbies: List[Hobby], pet : Option[Pet])

  val configString =
    """
    example1 = {
      name = "Olaf"
      age = 110
      hobbies = [
      {
        name = "yoga"
      }
      {
        name = "books"
      }]
    }
    """

  val config = ConfigFactory.parseString(configString)

  val person: Person = getFromConfig[Person](config.getConfig("example1"))

  println(person)
}

For more examples see Tests

Versions

Version
0.2.0
0.1.0