From e2d4130aece812f0c3184ceda468d099d3edba6a Mon Sep 17 00:00:00 2001 From: David Kang Date: Tue, 10 Sep 2024 22:47:47 -0300 Subject: [PATCH] Handle nil expression on has_pattern function --- lib/expression/callbacks/standard.ex | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/expression/callbacks/standard.ex b/lib/expression/callbacks/standard.ex index ecb9f23..fc24aef 100644 --- a/lib/expression/callbacks/standard.ex +++ b/lib/expression/callbacks/standard.ex @@ -1489,14 +1489,11 @@ defmodule Expression.Callbacks.Standard do @expression_doc expression: "has_pattern(\"Buy cheese please\", \"buy (\\w+)\")", result: true @expression_doc expression: "has_pattern(\"Sell cheese please\", \"buy (\\w+)\")", result: false @expression_doc expression: "has_pattern(nil, \"buy (\\w+)\")", result: false - def has_pattern(nil, _expression, _pattern) do - false - end - def has_pattern(ctx, expression, pattern) do [expression, pattern] = eval_args!([expression, pattern], ctx) - with {:ok, regex} <- Regex.compile(String.trim(pattern), "i"), + with false <- is_nil(expression), + {:ok, regex} <- Regex.compile(String.trim(pattern), "i"), [[_first | _remainder]] <- Regex.scan(regex, String.trim(expression), capture: :all) do # Future match result: first true