diff options
author | Matthew McCullough <matthewm@ambientideas.com> | 2011-06-28 19:42:50 -0600 |
---|---|---|
committer | Matthew McCullough <matthewm@ambientideas.com> | 2011-06-28 20:09:00 -0600 |
commit | e43eec99f94c00a6a9d2b30f9c449aff5ab0dfe5 (patch) | |
tree | 5d2b0c03409e597e72932a838f826e8a11de30d3 /plugins/cloudapp | |
parent | 3552423de3d5ae439dc815b7f9c4cbeab3fbebe8 (diff) | |
download | zsh-e43eec99f94c00a6a9d2b30f9c449aff5ab0dfe5.tar.gz zsh-e43eec99f94c00a6a9d2b30f9c449aff5ab0dfe5.tar.bz2 zsh-e43eec99f94c00a6a9d2b30f9c449aff5ab0dfe5.zip |
Added cloudapp from @holman of @GitHub fame
Diffstat (limited to 'plugins/cloudapp')
-rw-r--r-- | plugins/cloudapp/cloudapp.plugin.zsh | 2 | ||||
-rwxr-xr-x | plugins/cloudapp/cloudapp.rb | 60 |
2 files changed, 62 insertions, 0 deletions
diff --git a/plugins/cloudapp/cloudapp.plugin.zsh b/plugins/cloudapp/cloudapp.plugin.zsh new file mode 100644 index 000000000..99252f690 --- /dev/null +++ b/plugins/cloudapp/cloudapp.plugin.zsh @@ -0,0 +1,2 @@ +#!/bin/zsh +alias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb diff --git a/plugins/cloudapp/cloudapp.rb b/plugins/cloudapp/cloudapp.rb new file mode 100755 index 000000000..a11cfdb32 --- /dev/null +++ b/plugins/cloudapp/cloudapp.rb @@ -0,0 +1,60 @@ +#!/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` |