Method: Render::Type.parse

Defined in:
lib/render/type.rb

.parse(name, raise_error = false) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/render/type.rb', line 24

def parse(name, raise_error = false)
  return name.collect { |union_type| parse(union_type, raise_error) } if name.is_a?(Array)
  return nil if (name.nil?)
  return name unless name.is_a?(String) || name.is_a?(Symbol)

  Render::Type.find(name) || Object.const_get(name.capitalize)
rescue NameError
  raise Errors::InvalidType.new(name) if raise_error
end