我有一个使用URI.parse的函数,以便获取一个潜在的URL并将其写入我的Rails应用程序的/ tmp文件夹中。
但是,有时候我会获得本地文件系统的路径而不是URL,而我想知道处理这些案例的好方法。
所以,现在,如果我这样做:
URI.parse('path/to/file/system').open
,我明白了:
NoMethodError: private method `open' called for #<URI::Generic:0x007fae01f06c00>
所以,这不是我想要的。无论如何能够知道给定的参数是否是真实的URL?
由于
答案 0 :(得分:2)
如果你不介意信任正则表达式:
case arg
when URI::regexp
URI.parse(arg).open
else
# do something else
end