From 413c881af8e2a9f000e55398a4a73c912958282c Mon Sep 17 00:00:00 2001 From: Charlie Somerville Date: Wed, 16 Oct 2013 11:41:19 -0400 Subject: [PATCH] add @primary_extension_index to ensure we don't have duped primary exts --- lib/linguist/language.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index 0a8d3d54..e18e8ab7 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -15,8 +15,10 @@ module Linguist @index = {} @name_index = {} @alias_index = {} - @extension_index = Hash.new { |h,k| h[k] = [] } - @filename_index = Hash.new { |h,k| h[k] = [] } + + @extension_index = Hash.new { |h,k| h[k] = [] } + @filename_index = Hash.new { |h,k| h[k] = [] } + @primary_extension_index = {} # Valid Languages types TYPES = [:data, :markup, :programming] @@ -63,6 +65,12 @@ module Linguist @extension_index[extension] << language end + if @primary_extension_index.key?(language.primary_extension) + raise ArgumentError, "Duplicate primary extension: #{language.primary_extension}" + end + + @primary_extension_index[language.primary_extension] = language + language.filenames.each do |filename| @filename_index[filename] << language end