From a97818b8a3db7ea09f1768f94578277fa4a7d9eb Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Thu, 17 Aug 2023 18:19:31 -0400
Subject: [PATCH] Allows blank callsigns when not in strict mode

---
 lib/apex/frame/immutable_entity.rb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/apex/frame/immutable_entity.rb b/lib/apex/frame/immutable_entity.rb
index bd92164..7fe0781 100644
--- a/lib/apex/frame/immutable_entity.rb
+++ b/lib/apex/frame/immutable_entity.rb
@@ -15,7 +15,7 @@ module Apex
       raise ArgumentError.new("ssid must be an Integer.") if (not ssid.nil?) && (not ssid.kind_of? Integer)
 
       raise ArgumentError.new("ssid must be a value between 0 (inclusive) and 15 (inclusive): #{callsign}-#{ssid}") if (not ssid.nil?) && (ssid < 0 || ssid > 15) && (strict_ssid)
-      raise ArgumentError.new("Callsign can not be an empty string") if callsign.empty?
+      raise ArgumentError.new("Callsign can not be an empty string") if callsign.empty? && strict_callsign
       raise ArgumentError.new("Callsign must only contain numebers and letters") if callsign.strip.match?(/[^a-zA-Z0-9]/) && (strict_callsign)
 
       @callsign = callsign.strip.upcase.freeze
@@ -35,7 +35,7 @@ module Apex
 
       hop = raw_hop.dup
 
-      raise ArgumentError.new("Hops can only contain letters, numbers and dashes") if hop.strip.match?(/[^a-zA-Z0-9\-]/)
+      raise ArgumentError.new("Hops can only contain letters, numbers and dashes") if hop.strip.match?(/[^a-zA-Z0-9\-]/) && strict_callsign
 
       if not hop.include? "-"
         ssid = nil
-- 
GitLab