#!/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' ['json', 'cloudapp_api'].each do |gem| begin require gem rescue LoadError puts "You need to install #{gem}: gem install #{gem}" exit!(1) end 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") if ARGV[0].nil? puts "You need to specify a file to upload." exit!(1) end urls = [] ARGV.each do |x| CloudApp.authenticate(email,password) puts "Attempting to upload #{x}" url = CloudApp::Item.create(:upload, {:file => x}).url # Say it for good measure. puts "Uploaded #{x} to #{url}" # Get the embed link. url = "#{url}/#{ARGV[0].split('/').last}" urls << url end # Copy it to your (Mac's) clipboard. `echo '#{urls.join(',')}' | tr -d "\n" | pbcopy`