Class: Languages::Language
- Inherits:
-
Object
- Object
- Languages::Language
- Includes:
- Comparable
- Defined in:
- lib/languages/language.rb,
sig/languages.rbs
Overview
Language defined in ISO 639-3
Instance Attribute Summary collapse
-
#iso639_1 ⇒ Symbol?
(also: #alpha2)
readonly
Returns the value of attribute iso639_1.
-
#iso639_2b ⇒ Symbol?
(also: #alpha3_bibliographic)
readonly
Returns the value of attribute iso639_2b.
-
#iso639_2t ⇒ Symbol?
(also: #iso639_2, #alpha3_terminology)
readonly
Returns the value of attribute iso639_2t.
-
#iso639_3 ⇒ Symbol
(also: #alpha3)
readonly
Returns the value of attribute iso639_3.
-
#macrolanguage ⇒ Language?
readonly
Returns the value of attribute macrolanguage.
-
#name ⇒ String
readonly
Returns the value of attribute name.
-
#scope ⇒ Symbol?
readonly
Returns the value of attribute scope.
-
#type ⇒ Symbol?
readonly
Returns the value of attribute type.
Instance Method Summary collapse
- #<=>(other) ⇒ Integer?
- #==(other) ⇒ Boolean (also: #eql?)
- #ancient? ⇒ Boolean
- #constructed? ⇒ Boolean
- #extinct? ⇒ Boolean
- #hash ⇒ Integer
- #historical? ⇒ Boolean
- #individual_language? ⇒ Boolean
-
#initialize(csv_attributes) ⇒ Language
constructor
A new instance of Language.
- #living? ⇒ Boolean
- #macrolanguage? ⇒ Boolean
- #parse_scope(code) ⇒ Symbol?
- #parse_type(code) ⇒ Symbol?
- #special? ⇒ Boolean
- #special_language? ⇒ Boolean
- #to_s ⇒ String
Constructor Details
#initialize(csv_attributes) ⇒ Language
Returns a new instance of Language.
10 11 12 13 14 15 16 17 18 |
# File 'lib/languages/language.rb', line 10 def initialize(csv_attributes) @iso639_3 = csv_attributes.fetch(:id).to_sym @iso639_2b = csv_attributes.fetch(:part2b)&.to_sym @iso639_2t = csv_attributes.fetch(:part2t)&.to_sym @iso639_1 = csv_attributes.fetch(:part1)&.to_sym @scope = parse_scope(csv_attributes.fetch(:scope)) @type = parse_type(csv_attributes.fetch(:language_type)) @name = csv_attributes.fetch(:ref_name) end |
Instance Attribute Details
#iso639_1 ⇒ Symbol? (readonly) Also known as: alpha2
Returns the value of attribute iso639_1.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def iso639_1 @iso639_1 end |
#iso639_2b ⇒ Symbol? (readonly) Also known as: alpha3_bibliographic
Returns the value of attribute iso639_2b.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def iso639_2b @iso639_2b end |
#iso639_2t ⇒ Symbol? (readonly) Also known as: iso639_2, alpha3_terminology
Returns the value of attribute iso639_2t.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def iso639_2t @iso639_2t end |
#iso639_3 ⇒ Symbol (readonly) Also known as: alpha3
Returns the value of attribute iso639_3.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def iso639_3 @iso639_3 end |
#macrolanguage ⇒ Language? (readonly)
Returns the value of attribute macrolanguage.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def macrolanguage @macrolanguage end |
#name ⇒ String (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def name @name end |
#scope ⇒ Symbol? (readonly)
Returns the value of attribute scope.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def scope @scope end |
#type ⇒ Symbol? (readonly)
Returns the value of attribute type.
8 9 10 |
# File 'lib/languages/language.rb', line 8 def type @type end |
Instance Method Details
#<=>(other) ⇒ Integer?
57 58 59 |
# File 'lib/languages/language.rb', line 57 def <=>(other) iso639_3 <=> other.iso639_3 end |
#==(other) ⇒ Boolean Also known as: eql?
47 48 49 |
# File 'lib/languages/language.rb', line 47 def ==(other) other.class == self.class && other.iso639_3 == iso639_3 end |
#ancient? ⇒ Boolean
81 |
# File 'sig/languages.rbs', line 81
def ancient?: () -> bool
|
#constructed? ⇒ Boolean
82 |
# File 'sig/languages.rbs', line 82
def constructed?: () -> bool
|
#extinct? ⇒ Boolean
83 |
# File 'sig/languages.rbs', line 83
def extinct?: () -> bool
|
#hash ⇒ Integer
53 54 55 |
# File 'lib/languages/language.rb', line 53 def hash iso639_3.hash end |
#historical? ⇒ Boolean
84 |
# File 'sig/languages.rbs', line 84
def historical?: () -> bool
|
#individual_language? ⇒ Boolean
79 |
# File 'sig/languages.rbs', line 79
def individual_language?: () -> bool
|
#living? ⇒ Boolean
85 |
# File 'sig/languages.rbs', line 85
def living?: () -> bool
|
#macrolanguage? ⇒ Boolean
78 |
# File 'sig/languages.rbs', line 78
def macrolanguage?: () -> bool
|
#parse_scope(code) ⇒ Symbol?
65 66 67 |
# File 'lib/languages/language.rb', line 65 def parse_scope(code) SCOPES.detect { |s| s.chr.upcase == code }&.to_sym end |
#parse_type(code) ⇒ Symbol?
71 72 73 |
# File 'lib/languages/language.rb', line 71 def parse_type(code) TYPES.detect { |t| t.chr.upcase == code }&.to_sym end |
#special? ⇒ Boolean
86 |
# File 'sig/languages.rbs', line 86
def special?: () -> bool
|
#special_language? ⇒ Boolean
77 |
# File 'sig/languages.rbs', line 77
def special_language?: () -> bool
|
#to_s ⇒ String
28 29 30 |
# File 'lib/languages/language.rb', line 28 def to_s name.to_s # Enforce return of String, even if name is nil end |