Skip to content

Commit f252b5f

Browse files
committed
fix: move regex out of the module scope
1 parent 2f0e737 commit f252b5f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/sequin/consumers/sqs_sink.ex

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ defmodule Sequin.Consumers.SqsSink do
1919
field :is_fifo, :boolean, default: false
2020
end
2121

22-
@sqs_url_regex ~r/^https:\/\/sqs\.(?<region>[a-z0-9-]+)\.amazonaws\.com\/\d{12}\/[a-zA-Z0-9_-]+(?:\.fifo)?$/
23-
2422
def changeset(struct, params) do
2523
struct
2624
|> cast(params, [:queue_url, :region, :access_key_id, :secret_access_key, :is_fifo])
@@ -32,7 +30,7 @@ defmodule Sequin.Consumers.SqsSink do
3230

3331
defp validate_queue_url(changeset) do
3432
changeset
35-
|> validate_format(:queue_url, @sqs_url_regex,
33+
|> validate_format(:queue_url, sqs_url_regex(),
3634
message: "must be a valid AWS SQS URL (https://sqs.<region>.amazonaws.com/<account-id>/<queue-name>)"
3735
)
3836
|> validate_length(:queue_url, max: 2000)
@@ -87,9 +85,13 @@ defmodule Sequin.Consumers.SqsSink do
8785
8886
"""
8987
def region_from_url(queue_url) do
90-
case Regex.named_captures(@sqs_url_regex, queue_url) do
88+
case Regex.named_captures(sqs_url_regex(), queue_url) do
9189
%{"region" => region} -> region
9290
_ -> {:error, Sequin.Error.validation(summary: "Invalid SQS queue URL format")}
9391
end
9492
end
93+
94+
def sqs_url_regex do
95+
~r/^https:\/\/sqs\.(?<region>[a-z0-9-]+)\.amazonaws\.com\/\d{12}\/[a-zA-Z0-9_-]+(?:\.fifo)?$/
96+
end
9597
end

0 commit comments

Comments
 (0)