mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Adding basic find_by_id functionality to Language
This commit is contained in:
		@@ -24,6 +24,7 @@ module Linguist
 | 
			
		||||
    @index              = {}
 | 
			
		||||
    @name_index         = {}
 | 
			
		||||
    @alias_index        = {}
 | 
			
		||||
    @language_id_index  = {}
 | 
			
		||||
 | 
			
		||||
    @extension_index          = Hash.new { |h,k| h[k] = [] }
 | 
			
		||||
    @interpreter_index        = Hash.new { |h,k| h[k] = [] }
 | 
			
		||||
@@ -84,6 +85,8 @@ module Linguist
 | 
			
		||||
        @filename_index[filename] << language
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      @language_id_index[language.language_id] = language
 | 
			
		||||
 | 
			
		||||
      language
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
@@ -193,6 +196,19 @@ module Linguist
 | 
			
		||||
      @interpreter_index[interpreter]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # Public: Look up Languages by its language_id.
 | 
			
		||||
    #
 | 
			
		||||
    # language_id - Integer of language_id
 | 
			
		||||
    #
 | 
			
		||||
    # Examples
 | 
			
		||||
    #
 | 
			
		||||
    #   Language.find_by_id(100)
 | 
			
		||||
    #   # => [#<Language name="Elixir">]
 | 
			
		||||
    #
 | 
			
		||||
    # Returns the matching Language
 | 
			
		||||
    def self.find_by_id(language_id)
 | 
			
		||||
      @language_id_index[language_id.to_i]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # Public: Look up Language by its name.
 | 
			
		||||
    #
 | 
			
		||||
 
 | 
			
		||||
@@ -77,6 +77,12 @@ class TestLanguage < Minitest::Test
 | 
			
		||||
    assert_equal 421, Language['xBase'].language_id
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_find_by_id
 | 
			
		||||
    assert_equal Language['Elixir'], Language.find_by_id(100)
 | 
			
		||||
    assert_equal Language['Ruby'], Language.find_by_id(326)
 | 
			
		||||
    assert_equal Language['xBase'], Language.find_by_id(421)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_groups
 | 
			
		||||
    # Test a couple identity cases
 | 
			
		||||
    assert_equal Language['Perl'], Language['Perl'].group
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user