#!/usr/bin/env ruby # # cloudapp # Zach Holman / @holman # # Uploads a file from the command line to CloudApp, drops it into your # clipboard (on a Mac, at least). # # Example: # # cloudapp drunk-blake.png # # This requires Aaron Russell's cloudapp_api gem: # # gem install cloudapp_api # # Requires you set your CloudApp credentials in ~/.cloudapp as a simple file of: # # email # password require 'rubygems' begin require 'cloudapp_api' rescue LoadError puts "You need to install cloudapp_api: gem install cloudapp_api" exit!(1) end config_file = "#{ENV['HOME']}/.cloudapp" unless File.exist?(config_file) puts "You need to type your email and password (one per line) into "+ "`~/.cloudapp`" exit!(1) end email,password = File.read(config_file).split("\n") class HTTParty::Response # Apparently HTTPOK.ok? IS NOT OKAY WTFFFFFFFFFFUUUUUUUUUUUUUU # LETS MONKEY PATCH IT I FEEL OKAY ABOUT IT def ok? ; true end end if ARGV[0].nil? puts "You need to specify a file to upload." exit!(1) end CloudApp.authenticate(email,password) url = CloudApp::Item.create(:upload, {:file => ARGV[0]}).url # Say it for good measure. puts "Uploaded to #{url}." # Get the embed link. url = "#{url}/#{ARGV[0].split('/').last}" # Copy it to your (Mac's) clipboard. `echo '#{url}' | tr -d "\n" | pbcopy`