Allow extensions without a leading dot

This makes the API a little easier to use.
This commit is contained in:
Adam Roben
2014-11-10 14:30:37 -05:00
parent ffbe95d6e5
commit 97a1adcef1
2 changed files with 5 additions and 1 deletions

View File

@@ -206,8 +206,12 @@ module Linguist
# Language.find_by_extension('.rb') # Language.find_by_extension('.rb')
# # => [#<Language name="Ruby">] # # => [#<Language name="Ruby">]
# #
# Language.find_by_extension('rb')
# # => [#<Language name="Ruby">]
#
# Returns all matching Languages or [] if none were found. # Returns all matching Languages or [] if none were found.
def self.find_by_extension(extname) def self.find_by_extension(extname)
extname = ".#{extname}" unless extname.start_with?(".")
@extension_index[extname] @extension_index[extname]
end end

View File

@@ -243,8 +243,8 @@ class TestLanguage < Test::Unit::TestCase
def test_find_by_extension def test_find_by_extension
assert_equal [], Language.find_by_extension('.factor-rc') assert_equal [], Language.find_by_extension('.factor-rc')
assert_equal [], Language.find_by_extension('rb')
assert_equal [], Language.find_by_extension('foo.rb') assert_equal [], Language.find_by_extension('foo.rb')
assert_equal [Language['Ruby']], Language.find_by_extension('rb')
assert_equal [Language['Ruby']], Language.find_by_extension('.rb') assert_equal [Language['Ruby']], Language.find_by_extension('.rb')
assert_equal [Language['M'], Language['Mathematica'], Language['Matlab'], Language['Mercury'], Language['Objective-C']], Language.find_by_extension('.m') assert_equal [Language['M'], Language['Mathematica'], Language['Matlab'], Language['Mercury'], Language['Objective-C']], Language.find_by_extension('.m')
end end