Module: Languages
- Defined in:
- lib/languages.rb,
lib/languages/version.rb,
lib/languages/language.rb,
lib/languages/constants.rb,
lib/languages/language_family.rb,
sig/languages.rbs
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
Instance 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
|
Instance Method Details
#self?.[] ⇒ Language, ...
9
|
# File 'sig/languages.rbs', line 9
def self?.[]: (String | Symbol) -> (Language | LanguageFamily)?
|
#self?.all ⇒ Array[Language]
12
|
# File 'sig/languages.rbs', line 12
def self?.all: () -> Array[Language]
|
#self?.alpha2_codes ⇒ Array[Symbol]
14
|
# File 'sig/languages.rbs', line 14
def self?.alpha2_codes: () -> Array[Symbol]
|
#self?.alpha3_codes ⇒ Array[Symbol]
15
|
# File 'sig/languages.rbs', line 15
def self?.alpha3_codes: () -> Array[Symbol]
|
#self?.constructed ⇒ Array[Language]
21
|
# File 'sig/languages.rbs', line 21
def self?.constructed: () -> Array[Language]
|
#self?.extinct ⇒ Array[Language]
22
|
# File 'sig/languages.rbs', line 22
def self?.extinct: () -> Array[Language]
|
#self?.get_by_alpha2 ⇒ Language?
31
|
# File 'sig/languages.rbs', line 31
def self?.get_by_alpha2: (Symbol key) -> Language?
|
#self?.get_by_alpha3 ⇒ Language, ...
32
|
# File 'sig/languages.rbs', line 32
def self?.get_by_alpha3: (Symbol key) -> (Language | LanguageFamily)?
|
#self?.get_by_name ⇒ Language?
33
|
# File 'sig/languages.rbs', line 33
def self?.get_by_name: (String name) -> Language?
|
#self?.historical ⇒ Array[Language]
23
|
# File 'sig/languages.rbs', line 23
def self?.historical: () -> Array[Language]
|
#self?.individual_languages ⇒ Array[Language]
19
|
# File 'sig/languages.rbs', line 19
def self?.individual_languages: () -> Array[Language]
|
#self?.language_families ⇒ Array[LanguageFamily]
27
|
# File 'sig/languages.rbs', line 27
def self?.language_families: () -> Array[LanguageFamily]
|
#self?.living ⇒ Array[Language]
24
|
# File 'sig/languages.rbs', line 24
def self?.living: () -> Array[Language]
|
#self?.load_language_families ⇒ Hash[Symbol, LanguageFamily]
29
|
# File 'sig/languages.rbs', line 29
def self?.load_language_families: () -> Hash[Symbol, LanguageFamily]
|
#self?.load_tsv_data ⇒ Object
34
|
# File 'sig/languages.rbs', line 34
def self?.load_tsv_data: (String filename) -> untyped
|
#self?.macrolanguages ⇒ Array[Language]
18
|
# File 'sig/languages.rbs', line 18
def self?.macrolanguages: () -> Array[Language]
|
#self?.names ⇒ Array[String]
13
|
# File 'sig/languages.rbs', line 13
def self?.names: () -> Array[String]
|
#self?.search ⇒ Array[Language]
10
|
# File 'sig/languages.rbs', line 10
def self?.search: (Regexp pattern) -> Array[Language]
|
#self?.special ⇒ Array[Language]
25
|
# File 'sig/languages.rbs', line 25
def self?.special: () -> Array[Language]
|
#self?.special_languages ⇒ Array[Language]
17
|
# File 'sig/languages.rbs', line 17
def self?.special_languages: () -> Array[Language]
|