Add name <=> lexer helpers

This commit is contained in:
Joshua Peek
2011-05-11 12:19:21 -05:00
parent faef901159
commit 6a9d31737a
2 changed files with 24 additions and 0 deletions

View File

@@ -43,6 +43,18 @@ module Linguist
@lexer_index.to_a
end
def self.lexer2name(lexer)
if language = find_by_lexer(lexer)
language.name
end
end
def self.name2lexer(name)
if language = find_by_name(name)
language.lexer
end
end
def initialize(attributes = {})
@name = attributes[:name] || raise(ArgumentError, "missing name")
@lexer = attributes[:lexer] || default_lexer

View File

@@ -29,6 +29,18 @@ class TestLanguage < Test::Unit::TestCase
assert_nil Language.find_by_lexer('kt')
end
def test_lexer2name
assert_equal 'Ruby', Language.lexer2name('ruby')
assert_equal 'Python', Language.lexer2name('python')
assert_nil Language.lexer2name('kt')
end
def test_name2lexer
assert_equal 'ruby', Language.name2lexer('Ruby')
assert_equal 'python', Language.name2lexer('Python')
assert_nil Language.name2lexer('defunkt')
end
def test_name
assert_equal "Perl", Language['Perl'].name
assert_equal "Python", Language['Python'].name