<commit_before># -*- coding: utf-8 -*-

module Retriever
  # _model_slug_ をslugとして持つModelクラスを返す。
  # 見つからない場合、nilを返す。
  def self.Model(model_slug)
    model_slug = model_slug.to_sym
    ObjectSpace.each_object(Retriever::Model.singleton_class) do |klass|
      return klass if klass.slug == model_slug
    end
    nil
  end

  # _uri_ を Retriever::URI に変換する。
  # _uri_ が既に Retriever::URI のインスタンスだった場合は _uri_ を返すので、Retriever::URI
  # かもしれないオブジェクトを Retriever::URI に変換するのに使う。
  # ==== Args
  # 以下のいずれかのクラスのインスタンス。
  # [Retriever::URI] _uri_ をそのまま返す
  # [URI::Generic] Retriever::URI.new(uri) の結果を返す
  # [Addressable::URI] Retriever::URI.new(uri) の結果を返す
  # [String] _uri_ をURI文字列と見立てて、 URI::Generic または Addressable::URI に変換して、 Retriever::URI のインスタンスを作る
  # [Hash] _uri_ を URI::Generic または Addressable::URI コンストラクタに渡して、URIを作り、 Retriever::URI のインスタンスを作る
  # ==== Raises
  # [Retriever::InvalidURIError] _uri_ がURIではない場合
  def self.URI(uri)
    case uri
    when Retriever::URI
      uri
    when ::URI::Generic, Addressable::URI, String, Hash
      Retriever::URI.new(uri)
    else
      fail Retriever::InvalidURIError, "Unexpected instance of class received. Retriever::URI() expects Retriever::URI, URI::Generic, Addressable::URI, String or Hash but given `#{uri.class}'."<commit_msg>Revert "サポートしていないクラスのインスタンスを渡されたら例外を発生 refs #969"<commit_after># -*- coding: utf-8 -*-

module Retriever
  # _model_slug_ をslugとして持つModelクラスを返す。
  # 見つからない場合、nilを返す。
  def self.Model(model_slug)
    model_slug = model_slug.to_sym
    ObjectSpace.each_object(Retriever::Model.singleton_class) do |klass|
      return klass if klass.slug == model_slug
    end
    nil
  end

  # _uri_ を Retriever::URI に変換する。
  # _uri_ が既に Retriever::URI のインスタンスだった場合は _uri_ を返すので、Retriever::URI
  # かもしれないオブジェクトを Retriever::URI に変換するのに使う。
  # ==== Args
  # 以下のいずれかのクラスのインスタンス。
  # [Retriever::URI] _uri_ をそのまま返す
  # [URI::Generic] Retriever::URI.new(uri) の結果を返す
  # [Addressable::URI] Retriever::URI.new(uri) の結果を返す
  # [String] _uri_ をURI文字列と見立てて、 URI::Generic または Addressable::URI に変換して、 Retriever::URI のインスタンスを作る
  # [Hash] _uri_ を URI::Generic または Addressable::URI コンストラクタに渡して、URIを作り、 Retriever::URI のインスタンスを作る
  # ==== Raises
  # [Retriever::InvalidURIError] _uri_ がURIではない場合
  def self.URI(uri)
    case uri
    when Retriever::URI
      uri
    when ::URI::Generic, Addressable::URI, String, Hash
      Retriever::URI.new(uri)
{'fraction_non_alphanumeric': 0.12056737588652482, 'fraction_numerical': 0.0020859407592824365, 'mean_word_length': 4.576744186046511, 'pattern_counts': {'":': 0, '<': 3, '<?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': '3998263', 'n_tokens_mistral': 1148, 'n_tokens_neox': 1138, 'n_words': 185}