diff --git a/src/util/format/ticker.rs b/src/util/format/ticker.rs index b2ef334..6bcb8b6 100644 --- a/src/util/format/ticker.rs +++ b/src/util/format/ticker.rs @@ -10,6 +10,7 @@ use crate::util::df::DF; pub enum Ticker { ARKW, CRWV, + DKNG, ETOR, MKFG, LUNR, @@ -30,6 +31,7 @@ impl Ticker { match self { Self::ARKW => Self::arkw(df), Self::CRWV => Self::crwv(df), + Self::DKNG => Self::dkng(df), Self::ETOR => Self::etor(df), Self::MKFG => Self::mkfg(df), Self::LUNR => Self::lunr(df), @@ -107,6 +109,24 @@ impl Ticker { Ok(df.into()) } + fn dkng(df: DF) -> Result { + let mut df = df.collect()?; + + if let Ok(x) = df + .clone() + .lazy() + .with_columns(vec![when(col("company").eq(lit("AFTKINGS"))) + .then(lit("DRAFTKINGS")) + .otherwise(col("company")) + .alias("company")]) + .collect() + { + df = x; + } + + Ok(df.into()) + } + fn etor(df: DF) -> Result { let mut df = df.collect()?; @@ -278,6 +298,17 @@ mod tests { &[Some("ETORO GROUP"), Some("ETORO GROUP")] )?, )] + #[case::dkng( + Ticker::DKNG, + defualt_df( + &[Some("DKNG")], + &[Some("AFTKINGS")], + )?, + defualt_df( + &[Some("DKNG")], + &[Some("DRAFTKINGS")] + )?, + )] #[case::mkfg( Ticker::MKFG, defualt_df(