浏览代码

Added cloudapp from @holman of @GitHub fame

Matthew McCullough 13 年之前
父节点
当前提交
e43eec99f9
共有 2 个文件被更改,包括 62 次插入0 次删除
  1. 2 0
      plugins/cloudapp/cloudapp.plugin.zsh
  2. 60 0
      plugins/cloudapp/cloudapp.rb

+ 2 - 0
plugins/cloudapp/cloudapp.plugin.zsh

@@ -0,0 +1,2 @@
+#!/bin/zsh
+alias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb

+ 60 - 0
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`