class Iso639::Language

Attributes

alpha2[R]
alpha3[R]
alpha3_bibliographic[R]
alpha3_terminology[R]
english_names[R]
french_names[R]

Public Class Methods

new(alpha3_bibliographic, alpha3_terminology, alpha2, english_names, french_names) click to toggle source

Public: Initialize a Language.

alpha3_bibliographic - A String representing the alpha-3 bibliographic code alpha3_terminology - A String representing the alpha-3 terminology code alpha2 - A String representing the alpha-2 code english_names - A String representing the English names (semi-colon delimited) french_names - A String representing the French names (semi-colon delimited)

# File lib/iso639/language.rb, line 13
def initialize(alpha3_bibliographic, alpha3_terminology, alpha2, english_names, french_names)
  @alpha3_bibliographic = strip_to_nil(alpha3_bibliographic)
  @alpha3_terminology   = strip_to_nil(alpha3_terminology) || @alpha3_bibliographic
  @alpha2               = strip_to_nil(alpha2)
  @english_names        = split_and_strip(english_names)
  @french_names         = split_and_strip(french_names)
end

Public Instance Methods

english_name() click to toggle source
# File lib/iso639/language.rb, line 21
def english_name
  english_names.first
end
Also aliased as: name, to_s
french_name() click to toggle source
# File lib/iso639/language.rb, line 27
def french_name
  french_names.first
end
name()
Alias for: english_name
to_s()
Alias for: english_name

Private Instance Methods

split_and_strip(names) click to toggle source
# File lib/iso639/language.rb, line 33
def split_and_strip(names)
  names.split(/;\s*/).map { |n| strip_to_nil(n) }
end
strip_to_nil(val) click to toggle source
# File lib/iso639/language.rb, line 37
def strip_to_nil(val)
  val = val.strip if val
  return val unless val.nil? || val.empty?
end