Sha256: de4d46a747dfb2800fb1cb3f52870d9a1128a0f97054df1f36344bfa3e052e1a
Contents?: true
Size: 784 Bytes
Versions: 31
Compression:
Stored size: 784 Bytes
Contents
# frozen_string_literal: true ## # The UriFormatter handles URIs from user-input and escaping. # # uf = Gem::UriFormatter.new 'example.com' # # p uf.normalize #=> 'http://example.com' class Gem::UriFormatter ## # The URI to be formatted. attr_reader :uri ## # Creates a new URI formatter for +uri+. def initialize(uri) require "cgi" @uri = uri end ## # Escapes the #uri for use as a CGI parameter def escape return unless @uri CGI.escape @uri end ## # Normalize the URI by adding "http://" if it is missing. def normalize /^(https?|ftp|file):/i.match?(@uri) ? @uri : "http://#{@uri}" end ## # Unescapes the #uri which came from a CGI parameter def unescape return unless @uri CGI.unescape @uri end end
Version data entries
31 entries across 31 versions & 2 rubygems