From 4448e45f057d5d9a89fb724ce7e841698b67e882 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Fri, 14 Jun 2024 15:42:43 -0400 Subject: [PATCH 1/2] add service properties constant so that we can reuse it across the application --- app/models/concerns/node_properties.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/concerns/node_properties.rb b/app/models/concerns/node_properties.rb index 8a9dd3166..ca92c7661 100644 --- a/app/models/concerns/node_properties.rb +++ b/app/models/concerns/node_properties.rb @@ -19,12 +19,13 @@ def self.included(base) end SERVICE_KEYS = %i[protocol port state product reason name version] + SERVICE_PROPERTIES = %i[services services_extras] # -------------------------------------------- Individual property management # Sets a property, storing value as Array when needed # and taking care of duplications def set_property(key, value) - if [:services, :services_extras].include?(key.to_sym) # let's get defensive + if SERVICE_PROPERTIES.include?(key.to_sym) # let's get defensive raise ArgumentError, 'don\'t use set_property for :services or '\ ':services_extras, use set_service instead' end @@ -101,7 +102,6 @@ def set_service(data) end end - # -------------------------------------- :raw_properties accessors for the UI def raw_properties if self.has_any_property? From 385e1a3b5467a9656bd9f855472293e0085f1f56 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Fri, 14 Jun 2024 15:54:09 -0400 Subject: [PATCH 2/2] use strings instead of symbols --- app/models/concerns/node_properties.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/concerns/node_properties.rb b/app/models/concerns/node_properties.rb index ca92c7661..54c547e00 100644 --- a/app/models/concerns/node_properties.rb +++ b/app/models/concerns/node_properties.rb @@ -19,13 +19,13 @@ def self.included(base) end SERVICE_KEYS = %i[protocol port state product reason name version] - SERVICE_PROPERTIES = %i[services services_extras] + SERVICE_PROPERTIES = %w[services services_extras] # -------------------------------------------- Individual property management # Sets a property, storing value as Array when needed # and taking care of duplications def set_property(key, value) - if SERVICE_PROPERTIES.include?(key.to_sym) # let's get defensive + if SERVICE_PROPERTIES.include?(key.to_s) # let's get defensive raise ArgumentError, 'don\'t use set_property for :services or '\ ':services_extras, use set_service instead' end