#!/usr/bin/env ruby require "uri" module Clipboard class << self def paste `pbpaste`.chomp end end end def parse_params(url) url.query.split("&").each_with_object({}) do |param, acc| key, value = *param.split("=", 2) acc[key] = value end end url = URI.parse Clipboard.paste params = parse_params url id = params.fetch("v") { raise "Probably not a youtube URL" } clean_url = "https://www.youtube.com/watch?v=#{id}" system "(cd ~/Downloads && youtube-dl -f best \"#{clean_url}\")"