From 7dd09fe8e33a6ddde30fb1257fe335b16e6981b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?= Date: Fri, 30 Apr 2021 15:24:31 +0100 Subject: [PATCH] Fixes after manual testing --- src/lib/y2users/config.rb | 29 ++++++++++++++++------------- src/lib/y2users/config_element.rb | 4 ++-- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/lib/y2users/config.rb b/src/lib/y2users/config.rb index 2d7e7ee19..18883b376 100644 --- a/src/lib/y2users/config.rb +++ b/src/lib/y2users/config.rb @@ -80,8 +80,8 @@ def system(reader: nil, force_read: false) def initialize(name) @name = name - @users_manager = ElementManager.new(config) - @groups_manager = ElementManager.new(config) + @users_manager = ElementManager.new(self) + @groups_manager = ElementManager.new(self) self.class.register(self) end @@ -135,6 +135,16 @@ def clone_as(name) config end + # Generates the id for the next attached user or group + # + # FIXME: This method should not be public + # + # @return [Integer] + def self.next_element_id + @last_element_id ||= 0 + @last_element_id += 1 + end + protected # Clones a given user or group and attaches it into this config @@ -161,16 +171,6 @@ def clone_element(element) # @return [ElementManager] attr_reader :groups_manager - # Generates the id for the next attached user or group - # - # @return [Integer] - def self.next_element_id - @last_element_id ||= 0 - @last_element_id += 1 - end - - private_class_method(:next_element_id) - # Attaches an user or group # # An id is assigned to the given user/group, if needed. @@ -194,6 +194,9 @@ class ElementManager # @return [Array] attr_reader :elements + # @return [Config] + attr_reader :config + # Constructor # # @param config [Config] @@ -224,7 +227,7 @@ def detach(element) index = @elements.find_index { |e| e.is?(element) } @elements.delete_at(index) if index - element.assing_config(nil) + element.assign_config(nil) element.assign_internal_id(nil) end end diff --git a/src/lib/y2users/config_element.rb b/src/lib/y2users/config_element.rb index 01af79d71..af5a0e824 100644 --- a/src/lib/y2users/config_element.rb +++ b/src/lib/y2users/config_element.rb @@ -83,8 +83,8 @@ def is?(other) # @return [User, Group] def clone cloned = super - cloned.config = nil - cloned.id = nil + cloned.assign_config(nil) + cloned.assign_internal_id(nil) cloned end