Method: Lego.value_parser

Defined in:
lib/lego.rb

.value_parser(item, *args) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/lego.rb', line 10

def self.value_parser(item, *args)
  if (Lego::Value.const_defined?(item.to_s, false) rescue false)
    Lego::Value.const_get(item.to_s, false).new(*args)
  elsif item.respond_to?(:coerce)
    item
  else
    raise NameError
  end
rescue NameError
  raise NameError, "Unknown Lego::Value parser: #{item.to_s}"
end