# frozen_string_literal: true module CodebrekerManfly class User < ValidatableEntity attr_reader :name USERNAME_MIN_LENGTH = 3 USERNAME_MAX_LENGTH = 20 def initialize(name) super() @name = name end private def validate return add_error(:name, I18n.t(:unexpected_class_error)) unless valid_class?(String, name) add_error(:name, I18n.t(:string_min_length_error)) unless valid_string_min_length?(name, USERNAME_MIN_LENGTH) add_error(:name, I18n.t(:string_max_length_error)) unless valid_string_max_length?(name, USERNAME_MAX_LENGTH) end end end