module Urlize

Public Class Methods

domain(url) click to toggle source
# File lib/urlize.rb, line 19
def self.domain(url)
        @parsed = self.read(url)
        output = @parsed[:host]
        output << " (#{@parsed[:search_term]})" if @parsed[:search_term]
        output
end
read(url) click to toggle source
# File lib/urlize.rb, line 2
def self.read(url)
        parsed_uri = URI::parse(URI.encode(url))
        host = parsed_uri.host.index("www.") ? parsed_uri.host.gsub(/www\./, "") : parsed_uri.host
        query = CGI.parse(parsed_uri.query) if !parsed_uri.query.blank?

        output = {
                :scheme => parsed_uri.scheme,
                :host => host,
        }

        if query
                output[:search_term] = self.humanize(query["q"]) if query.has_key?("q")
                output[:search_term] = self.humanize(query["p"]) if query.has_key?("p")
        end
        output
end

Protected Class Methods

humanize(phrase) click to toggle source
# File lib/urlize.rb, line 27
def self.humanize(phrase)
        if phrase.index("%20")
                phrase = phrase.gsub(/%20/, " ")
                phrase = phrase.gsub(/\+/, " ")
        else
        end
        phrase[0]
end