<commit_before>module AppsHelper
  def link_to_copy_attributes_from_other_app
    if App.count > 1
      html =  link_to('copy settings from another app', '#',
                       :class => 'button copy_config')
      html << select("duplicate", "app",
                     App.all.reject{|a| a == @app }.
                     collect{|p| [ p.name, p.id ] }, {:include_blank => "[choose app]"},
                     {:class => "choose_other_app", :style => "display: none;"})
      return html
    end
  end

  def any_github_repos?
    detect_any_apps_with_attributes unless @any_github_repos
    @any_github_repos<commit_msg>Sort list of apps to copy settings from.<commit_after>module AppsHelper
  def link_to_copy_attributes_from_other_app
    if App.count > 1
      html =  link_to('copy settings from another app', '#',
                       :class => 'button copy_config')
      html << select("duplicate", "app",
                     App.all.reject{|a| a == @app }.sort_by{|a| a.name}.
                     collect{|p| [ p.name, p.id ] }, {:include_blank => "[choose app]"},
                     {:class => "choose_other_app", :style => "display: none;"})
      return html
    end
  end

  def any_github_repos?
    detect_any_apps_with_attributes unless @any_github_repos
    @any_github_repos
{'fraction_non_alphanumeric': 0.12471308339709258, 'fraction_numerical': 0.001530221882172915, 'mean_word_length': 2.353846153846154, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 13, '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': '3919005', 'n_tokens_mistral': 417, 'n_tokens_neox': 385, 'n_words': 94}