Class: Omml::Models::Token

Inherits:
Lutaml::Model::Type::String
  • Object
show all
Defined in:
lib/omml/models/simple_types/token.rb

Constant Summary collapse

TOKEN_PATTERN =
/(?-mix:\A[^\t\n\f\r ]+(?: [^\t\n\f\r ]+)*\z)/

Class Method Summary collapse

Class Method Details

.cast(value, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/omml/models/simple_types/token.rb', line 8

def self.cast(value, options = {})
  return if value.nil?

  cast_options = options.merge(pattern: TOKEN_PATTERN)
  values = defined_values
  if values
    cast_options[:values] ||= memoized_values do
      values.map { |entry| super(entry, pattern: TOKEN_PATTERN) }
    end
  end

  super(value, cast_options)
end