<commit_before>module KonoUtils
  ##
  # Classe base per i form di ricerca nel sistema
  class BaseSearch < VirtualModel

    class UndefinedSearchModel < StandardError
      def initialize(msg = 'Definire nella classe, attraverso set_search_model, il modello da utilizzare come base per la ricerca')
        super(msg)
      end
    end

    class UndefinedSearchModelScope < StandardError
      def initialize(model)
        super("La classe #{model.name} non ha definito lo scope search")
      end
    end

    class_attribute :_search_model, :_search_attributes, instance_writer: false
    attr_accessor :scope

    class_attribute :search_form_builder_class, default: nil

    #@return [KonoUtils::SearchFormBuilder] istanziato
    attr_reader :search_form_builder<commit_msg>base search ora deriva direttamente da activetype<commit_after>module KonoUtils
  ##
  # Classe base per i form di ricerca nel sistema
  class BaseSearch < ActiveType::Object

    class UndefinedSearchModel < StandardError
      def initialize(msg = 'Definire nella classe, attraverso set_search_model, il modello da utilizzare come base per la ricerca')
        super(msg)
      end
    end

    class UndefinedSearchModelScope < StandardError
      def initialize(model)
        super("La classe #{model.name} non ha definito lo scope search")
      end
    end

    class_attribute :_search_model, :_search_attributes, instance_writer: false
    attr_accessor :scope

    class_attribute :search_form_builder_class, default: nil

    #@return [KonoUtils::SearchFormBuilder] istanziato
    attr_reader :search_form_builder
{'fraction_non_alphanumeric': 0.05603985056039851, 'fraction_numerical': 0.0, 'mean_word_length': 3.884498480243161, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4599859', 'n_tokens_mistral': 457, 'n_tokens_neox': 449, 'n_words': 141}