diff --git a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava index a1b831a..ee9c871 100644 --- a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava +++ b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava @@ -5,8 +5,13 @@ import java.time.Instant; public final class PriceAlarm { - public PriceAlarm(PriceAlarmDefinition definition, AlarmAction action) { + public PriceAlarm( + PriceAlarmDefinition definition, + AlarmVariableResolver variableResolver, + AlarmAction action + ) { this.definition = definition; + this.variableResolver = variableResolver; this.action = action; } @@ -17,7 +22,10 @@ public final class PriceAlarm { ); } - BigDecimal target = AlarmTargetParser.parse(definition.targetExpression()); + BigDecimal target = AlarmTargetParser.parse( + variableResolver.resolve(definition.targetExpression()) + ); + boolean reached = definition.direction().reached( price.priceUsd(), target @@ -84,6 +92,7 @@ public final class PriceAlarm { } private final PriceAlarmDefinition definition; + private final AlarmVariableResolver variableResolver; private final AlarmAction action; private Instant lastTriggeredAt;