mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Add Language class
This commit is contained in:
33
lib/linguist/language.rb
Normal file
33
lib/linguist/language.rb
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
require 'yaml'
|
||||||
|
|
||||||
|
module Linguist
|
||||||
|
class Language
|
||||||
|
@name_index = {}
|
||||||
|
|
||||||
|
def self.create(name)
|
||||||
|
language = new(name)
|
||||||
|
|
||||||
|
@name_index[language.name] = language
|
||||||
|
|
||||||
|
language
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.find_by_name(name)
|
||||||
|
@name_index[name]
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.[](name)
|
||||||
|
find_by_name(name)
|
||||||
|
end
|
||||||
|
|
||||||
|
attr_reader :name
|
||||||
|
|
||||||
|
def initialize(name)
|
||||||
|
@name = name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
YAML.load_file(File.expand_path("../extensions.yml", __FILE__)).each do |name, options|
|
||||||
|
Language.create(name)
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user