Class: Etna::Cwl::EnumLoader

Inherits:
Loader
  • Object
show all
Defined in:
lib/etna/cwl.rb

Constant Summary collapse

PRIMITIVE_TYPE =
EnumLoader.new("null", "boolean", "int", "long", "float", "double", "string")
NOMINAL_TYPE =
EnumLoader.new("File")

Instance Method Summary collapse

Methods inherited from Loader

#as_array, #as_mapped_array, #map, #optional, #or

Constructor Details

#initialize(*options) ⇒ EnumLoader

Returns a new instance of EnumLoader.



230
231
232
# File 'lib/etna/cwl.rb', line 230

def initialize(*options)
  @options = options
end

Instance Method Details

#load(val) ⇒ Object



234
235
236
237
238
239
240
# File 'lib/etna/cwl.rb', line 234

def load(val)
  if @options.include?(val)
    return val
  end

  raise "Value #{val.inspect} does not belong to one of (#{@options.join(', ')})"
end