Class: Dcc::Type::IsoLanguageCode

Inherits:
Lutaml::Model::Type::String
  • Object
show all
Defined in:
lib/dcc/type/iso_language_code.rb

Overview

ISO 639-1 language code (two lowercase letters, e.g. "en"). Used by dcc:usedLangCodeISO639_1 and dcc:mandatoryLangCodeISO639_1.

Constant Summary collapse

PATTERN =
/\A[a-z]{2}\z/.freeze

Class Method Summary collapse

Class Method Details

.cast(value) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/dcc/type/iso_language_code.rb', line 12

def self.cast(value)
  return nil unless value.is_a?(::String) && value != ""

  unless PATTERN.match?(value)
    raise Lutaml::Model::Type::InvalidValueError.new(value, "invalid ISO 639-1 language code: #{value.inspect}")
  end

  value
end