mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Add Language#extensions
This commit is contained in:
@@ -4,8 +4,8 @@ module Linguist
|
||||
class Language
|
||||
@name_index = {}
|
||||
|
||||
def self.create(name)
|
||||
language = new(name)
|
||||
def self.create(attributes = {})
|
||||
language = new(attributes)
|
||||
|
||||
@name_index[language.name.downcase] = language
|
||||
|
||||
@@ -20,14 +20,15 @@ module Linguist
|
||||
find_by_name(name)
|
||||
end
|
||||
|
||||
attr_reader :name
|
||||
attr_reader :name, :extensions
|
||||
|
||||
def initialize(name)
|
||||
@name = name
|
||||
def initialize(attributes = {})
|
||||
@name = attributes[:name]
|
||||
@extensions = attributes[:extensions] || []
|
||||
end
|
||||
end
|
||||
|
||||
YAML.load_file(File.expand_path("../extensions.yml", __FILE__)).each do |name, options|
|
||||
Language.create(name)
|
||||
Language.create(:name => name, :extensions => options[:ext])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -16,4 +16,10 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal "Python", Language['Python'].name
|
||||
assert_equal "Ruby", Language['Ruby'].name
|
||||
end
|
||||
|
||||
def test_extensions
|
||||
assert Language['Perl'].extensions.include?('.pl')
|
||||
assert Language['Python'].extensions.include?('.py')
|
||||
assert Language['Ruby'].extensions.include?('.rb')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user