<commit_before>class RepositoryHosting
  class << self
    def hostings
      @hostings ||= Errbit::Config.repository_hostings.map { |attrs| new attrs }
    end

    def for_git_url(git_url)
      hostings.find{ |hosting| git_url.match(hosting.matcher) }
    end

    def github
      hostings.find{ |hosting| hosting.name == 'github' }
    end

    def bitbucket
      hostings.find{ |hosting| hosting.name == 'bitbucket' }
    end
  end

  attr_reader :name, :matcher, :base_url, :repo_path_template, :commit_path_template,
              :file_path_template, :file_line_anchor_template<commit_msg>fix in repository_hosting<commit_after>class RepositoryHosting
  class << self
    def hostings
      @hostings ||= Errbit::Config.repository_hostings.map { |attrs| new attrs }
    end

    def for_git_url(git_url)
      return if git_url.blank?
      hostings.find{ |hosting| git_url.match(hosting.matcher) }
    end

    def github
      hostings.find{ |hosting| hosting.name == 'github' }
    end

    def bitbucket
      hostings.find{ |hosting| hosting.name == 'bitbucket' }
    end
  end

  attr_reader :name, :matcher, :base_url, :repo_path_template, :commit_path_template,
              :file_path_template, :file_line_anchor_template
{'fraction_non_alphanumeric': 0.0999194198227236, 'fraction_numerical': 0.0, 'mean_word_length': 3.2975778546712804, 'pattern_counts': {'":': 0, '<': 7, '<?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': '631032', 'n_tokens_mistral': 418, 'n_tokens_neox': 409, 'n_words': 86}