mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +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