63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #!/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` |