Module: Languages
- Defined in:
- lib/languages.rb,
lib/languages/version.rb,
lib/languages/language.rb,
lib/languages/constants.rb,
lib/languages/language_family.rb
Overview
Provides living, extinct, ancient, historic, and constructed languages, specified in ISO 639-3
Defined Under Namespace
Classes: Language, LanguageFamily
Constant Summary
collapse
- VERSION =
'1.0.0'
- TYPES =
%w[constructed extinct historical living special].freeze
- SCOPES =
%w[individual macrolanguage special].freeze
Class Method Summary
collapse
Class Method Details
.[](key) ⇒ Object
28
29
30
31
32
33
34
35
|
# File 'lib/languages.rb', line 28
def [](key)
key = key.to_s.downcase
case key.size
when 3 then get_by_alpha3(key.to_sym)
when 2 then get_by_alpha2(key.to_sym)
else get_by_name(key)
end
end
|
.all ⇒ Object
Returns all human known languages, specified in ISO 639-3
44
45
46
|
# File 'lib/languages.rb', line 44
def all
@data.values
end
|
.alpha2_codes ⇒ Object
52
53
54
|
# File 'lib/languages.rb', line 52
def alpha2_codes
all.map(&:alpha2).compact
end
|
.alpha3_codes ⇒ Object
56
57
58
|
# File 'lib/languages.rb', line 56
def alpha3_codes
all.map(&:alpha3)
end
|
.language_families ⇒ Object
Returns all language families and groups defined in ISO 639-5
61
62
63
|
# File 'lib/languages.rb', line 61
def language_families
@language_families.values
end
|
.names ⇒ Object
48
49
50
|
# File 'lib/languages.rb', line 48
def names
all.map(&:name)
end
|
.search(pattern) ⇒ Object
37
38
39
40
41
|
# File 'lib/languages.rb', line 37
def search(pattern)
raise(ArgumentError, 'Pattern must be a Regexp') unless pattern.is_a?(Regexp)
all.select { |l| l.name.match? pattern }
end
|