From 020888989f3a72586ce10a1c3bce7bfd66638408 Mon Sep 17 00:00:00 2001 From: Nicolas Rodriguez Date: Wed, 28 May 2025 03:02:19 +0200 Subject: [PATCH] Move hash_to_object method where it should belong --- lib/netbox_client_ruby/communication.rb | 17 ----------------- lib/netbox_client_ruby/entity.rb | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/netbox_client_ruby/communication.rb b/lib/netbox_client_ruby/communication.rb index 3e971f2..868b1f2 100644 --- a/lib/netbox_client_ruby/communication.rb +++ b/lib/netbox_client_ruby/communication.rb @@ -15,25 +15,8 @@ def connection NetboxClientRuby::Connection.new end - def hash_to_object(hash) - objectified_class = Class.new - objectified_instance = objectified_class.new - hash.each do |k, v| - variable_name = sanitize_variable_name(k) - variable_name = "_#{variable_name}" if objectified_instance.methods.map(&:to_s).include?(variable_name) - - objectified_instance.instance_variable_set(:"@#{variable_name}", v) - objectified_class.send(:define_method, variable_name, proc { instance_variable_get(:"@#{variable_name}") }) - end - objectified_instance - end - private - def sanitize_variable_name(raw_name) - raw_name.gsub(/[^a-zA-Z0-9_]/, '_') - end - def read(response) response.body end diff --git a/lib/netbox_client_ruby/entity.rb b/lib/netbox_client_ruby/entity.rb index 1ec0027..fdf3730 100644 --- a/lib/netbox_client_ruby/entity.rb +++ b/lib/netbox_client_ruby/entity.rb @@ -275,6 +275,23 @@ def object_fields self.class.object_fields end + def hash_to_object(hash) + objectified_class = Class.new + objectified_instance = objectified_class.new + hash.each do |k, v| + variable_name = sanitize_variable_name(k) + variable_name = "_#{variable_name}" if objectified_instance.methods.map(&:to_s).include?(variable_name) + + objectified_instance.instance_variable_set(:"@#{variable_name}", v) + objectified_class.send(:define_method, variable_name, proc { instance_variable_get(:"@#{variable_name}") }) + end + objectified_instance + end + + def sanitize_variable_name(raw_name) + raw_name.gsub(/[^a-zA-Z0-9_]/, '_') + end + def data_to_obj(raw_data, klass_or_proc = nil) if klass_or_proc.nil? hash_to_object raw_data