module Launchy
def string_to_uri(str)
def string_to_uri(str) str = str.to_s uri = Addressable::URI.parse(str) Launchy.log "URI parsing pass 1 : #{str} -> #{uri.to_hash}" unless uri.scheme uri = Addressable::URI.heuristic_parse(str) Launchy.log "URI parsing pass 2 : #{str} -> #{uri.to_hash}" end raise Launchy::ArgumentError, "Invalid URI given: #{str.inspect}" unless uri uri end