class Roda::RodaPlugins::TypecastParams::Params

def process(meth, key, default, max_input_bytesize=nil)

If the value either before or after conversion is nil, return the +default+ value.
Get the value of +key+ for the object, and convert it to the expected type using +meth+.
def process(meth, key, default, max_input_bytesize=nil)
  v = param_value(key)
  unless v.nil?
    check_allowed_bytesize(v, max_input_bytesize)
    check_null_byte(v)
    v = send(meth, v)
  end
  if v.nil?
    if default == CHECK_NIL
      handle_error(key, :missing, "missing parameter for #{param_name(key)}")
    end
    default
  else
    v
  end
rescue => e
  handle_error(key, meth.to_s.sub(/\A_?convert_/, '').to_sym, e)
end