From 9d1c25702d42869af0a7cec7428fd130c6483375 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Thu, 17 Aug 2023 02:48:15 -0400
Subject: [PATCH] Moved seen to seen?

---
 lib/apex/frame/hop.rb            |  4 +---
 lib/apex/frame/immutable_hop.rb  | 17 ++++++++++-------
 lib/apex/frame/immutable_path.rb |  4 ++--
 spec/apex/frame/hop_spec.rb      | 26 +++++++++++++-------------
 4 files changed, 26 insertions(+), 25 deletions(-)

diff --git a/lib/apex/frame/hop.rb b/lib/apex/frame/hop.rb
index ca54411..d5cf965 100644
--- a/lib/apex/frame/hop.rb
+++ b/lib/apex/frame/hop.rb
@@ -6,8 +6,6 @@ module Apex
     include Apex::Entity
     include Abstractify::Abstract
 
-    abstract :toggle_seen, :decrement_ssid, :==, :eql?, :to_s
-
-    attr_reader :seen
+    abstract :toggle_seen, :decrement_ssid, :==, :eql?, :to_s, :seen?
   end
 end
diff --git a/lib/apex/frame/immutable_hop.rb b/lib/apex/frame/immutable_hop.rb
index 79d6b6e..4645b81 100644
--- a/lib/apex/frame/immutable_hop.rb
+++ b/lib/apex/frame/immutable_hop.rb
@@ -6,8 +6,6 @@ module Apex
   class ImmutableHop < Apex::ImmutableEntity
     include Hop
 
-    attr_reader :seen
-
     public
     def initialize(callsign, ssid, seen)
 
@@ -51,16 +49,21 @@ module Apex
       return Apex::ImmutableHop.new(callsign, ssid, seen)
     end
 
+    public
+    def seen?
+      return @seen
+    end
+
     public
     def toggle_seen
-      return Apex::ImmutableHop.new(self.callsign, self.ssid, !self.seen)
+      return Apex::ImmutableHop.new(self.callsign, self.ssid, !self.seen?)
     end
 
     public
     def decrement_ssid
       raise RangeError.new("SSID can not be decremented when it is currently 0 or nil") if (self.ssid.nil?) or (self.ssid <= 0)
 
-      return Apex::ImmutableHop.new(self.callsign, self.ssid - 1, self.seen)
+      return Apex::ImmutableHop.new(self.callsign, self.ssid - 1, self.seen?)
     end
 
     public
@@ -74,8 +77,8 @@ module Apex
     def ==(other)
       return false if !super(other)
 
-      return false if not other.respond_to? :seen
-      return false if not self.seen.eql? other.seen
+      return false if not other.respond_to? :seen?
+      return false if not self.seen?.eql? other.seen?
 
       return true
     end
@@ -83,7 +86,7 @@ module Apex
     public
     def to_s
       ret_val = super.dup
-      ret_val << "*" if self.seen
+      ret_val << "*" if self.seen?
       return ret_val
     end
   end
diff --git a/lib/apex/frame/immutable_path.rb b/lib/apex/frame/immutable_path.rb
index c402f7d..9c75a9a 100644
--- a/lib/apex/frame/immutable_path.rb
+++ b/lib/apex/frame/immutable_path.rb
@@ -13,8 +13,8 @@ module Apex
       hops.each do |hop|
         raise ArgumentError.new("All arguments must not be nil: #{hops.to_s}") if (hop.nil?)
         raise ArgumentError.new("All arguments must be of type Hop: #{hops.class.to_s}") if not hop.kind_of? Apex::Hop
-        raise ArgumentError.new("A seen hop can not follow an unseen hop") if (hop.seen) && (!last_seen)
-        last_seen = false if not hop.seen
+        raise ArgumentError.new("A seen hop can not follow an unseen hop") if (hop.seen?) && (!last_seen)
+        last_seen = false if not hop.seen?
         @path_array << hop
       end
 
diff --git a/spec/apex/frame/hop_spec.rb b/spec/apex/frame/hop_spec.rb
index 4f3c95d..e3af2b2 100644
--- a/spec/apex/frame/hop_spec.rb
+++ b/spec/apex/frame/hop_spec.rb
@@ -60,7 +60,7 @@ class HopEquiv
   end
 
   public
-  def seen
+  def seen?
     return true
   end
 end
@@ -80,7 +80,7 @@ describe Apex::Hop do
         expect(hop.ssid).to eql(BASE_HOP_SSID)
       end
       it "set the seen property correctly" do
-        expect(hop.seen).to eql(BASE_HOP_SEEN)
+        expect(hop.seen?).to eql(BASE_HOP_SEEN)
       end
     end
     context "Given a valid callsign with nil ssid and with seen flag" do
@@ -96,7 +96,7 @@ describe Apex::Hop do
         expect(hop.ssid).to eql(NOSSID_HOP_SSID)
       end
       it "set the seen property correctly" do
-        expect(hop.seen).to eql(NOSSID_HOP_SEEN)
+        expect(hop.seen?).to eql(NOSSID_HOP_SEEN)
       end
     end
     context "Given a valid callsign with zero for ssid and with seen flag" do
@@ -112,7 +112,7 @@ describe Apex::Hop do
         expect(hop.ssid).to be_nil
       end
       it "set the seen property correctly" do
-        expect(hop.seen).to eql(ZEROSSID_HOP_SEEN)
+        expect(hop.seen?).to eql(ZEROSSID_HOP_SEEN)
       end
     end
     context "Given an invalid callsign with valid ssid and valid seen flag" do
@@ -205,7 +205,7 @@ describe Apex::Hop do
         expect(hop.ssid).to eql(BASE_HOP_SSID)
       end
       it "set seen correctly" do
-        expect(hop.seen).to eql(BASE_HOP_SEEN)
+        expect(hop.seen?).to eql(BASE_HOP_SEEN)
       end
     end
     context "Given a valid callsign with ssid and without seen flag" do
@@ -221,7 +221,7 @@ describe Apex::Hop do
         expect(hop.ssid).to eql(UNSEEN_HOP_SSID)
       end
       it "the seen field was parssed correctly" do
-        expect(hop.seen).to eql(UNSEEN_HOP_SEEN)
+        expect(hop.seen?).to eql(UNSEEN_HOP_SEEN)
       end
     end
     context "Given a valid callsign with 0 ssid and with seen flag" do
@@ -237,7 +237,7 @@ describe Apex::Hop do
         expect(hop.ssid).to be_nil
       end
       it "the seen field was parssed correctly" do
-        expect(hop.seen).to eql(ZEROSSID_HOP_SEEN)
+        expect(hop.seen?).to eql(ZEROSSID_HOP_SEEN)
       end
     end
     context "Given a valid callsign with nil ssid and with seen flag" do
@@ -253,7 +253,7 @@ describe Apex::Hop do
         expect(hop.ssid).to eql(NOSSID_HOP_SSID)
       end
       it "the seen field was parssed correctly" do
-        expect(hop.seen).to eql(NOSSID_HOP_SEEN)
+        expect(hop.seen?).to eql(NOSSID_HOP_SEEN)
       end
     end
     context "Given a valid callsign without ssid and without seen flag" do
@@ -269,7 +269,7 @@ describe Apex::Hop do
         expect(hop.ssid).to eql(NOSSID_UNSEEN_HOP_SSID)
       end
       it "the seen field was parssed correctly" do
-        expect(hop.seen).to eql(NOSSID_UNSEEN_HOP_SEEN)
+        expect(hop.seen?).to eql(NOSSID_UNSEEN_HOP_SEEN)
       end
     end
     context "Given an invalid callsign with valid ssid and valid seen flag" do
@@ -371,10 +371,10 @@ describe Apex::Hop do
           expect(hop).to_not eql(toggled_hop)
         end
         it "should have opposite value of seen" do
-          expect(toggled_hop.seen).to eql(!hop.seen)
+          expect(toggled_hop.seen?).to eql(!hop.seen?)
         end
         it "should have false for seen" do
-          expect(toggled_hop.seen).to be_falsey
+          expect(toggled_hop.seen?).to be_falsey
         end
       end
     end
@@ -386,10 +386,10 @@ describe Apex::Hop do
           expect(hop).to_not eql(new_hop)
         end
         it "should have opposite value of seen" do
-          expect(new_hop.seen).to eql(!hop.seen)
+          expect(new_hop.seen?).to eql(!hop.seen?)
         end
         it "should have true for seen" do
-          expect(new_hop.seen).to be_truthy
+          expect(new_hop.seen?).to be_truthy
         end
       end
     end
-- 
GitLab