New
ducktape 0.2.9
ducktape 0.2.9
This release brings lints to Field.modify{Source,Dest}Names and Case.modify{Source,Dest}Names which provide warnings when a rename config doesn't actually do anything:
case class Source(int: Int, level1: SourceEnum)
case class Dest(int: Int, level1: DestEnum)
enum DestEnum {
case One(int: Int, str: String)
case Two(int: Int, str: String, level1: DestLevel1, level2: DestLevel1Enum)
case Three(int: Int, str: String)
}
enum SourceEnum {
case One(int: Int, str: String)
case Two(int: Int, str: String, level1: SourceLevel1, level2: SourceLevel1Enum)
case Three(int: Int, str: String)
}
enum SourceLevel1Enum {
case One
case Two
}
enum DestLevel1Enum {
case One
case Two
}
case class SourceLevel1(int: Int)
case class DestLevel1(int: Int)
assertTransformsConfigured(
Source(1, SourceEnum.Two(2, "2", SourceLevel1(3), SourceLevel1Enum.Two)),
Dest(1, DestEnum.Two(2, "2", DestLevel1(3), DestLevel1Enum.Two))
)(
Case.modifySourceNames(_.toLowerCase).local(_.level1.at[SourceEnum.Two])
// ^ WARNING: Config is not actually being used anywhere
)
)
...or when one rename overrides another: