Sha256: d3fc15f689648cc2ad40d84c003d4e1f9ebdf7c8b2c048f982457ec5d5e1bd7a

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

module Iso639
  class Language
    attr_reader :alpha3_bibliographic, :alpha3_terminology, :alpha2, :english_name, :french_name
    alias_method :alpha3, :alpha3_bibliographic
    alias_method :name, :english_name

    # 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_name - A String representing the English name
    # french_name - A String representing the French name
    def initialize(alpha3_bibliographic, alpha3_terminology, alpha2, english_name, french_name)
      @alpha3_bibliographic = strip_to_nil(alpha3_bibliographic)
      @alpha3_terminology   = strip_to_nil(alpha3_terminology)
      @alpha2               = strip_to_nil(alpha2)
      @english_name         = strip_to_nil(english_name)
      @french_name          = strip_to_nil(french_name)
    end

    def to_s
      name
    end

    private

    def strip_to_nil(val)
      val = val.strip if val
      return val unless val.nil? || val.empty?
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
iso639-1.0.4 lib/iso639/language.rb
iso639-1.0.3 lib/iso639/language.rb