枕を欹てて聴く

香炉峰の雪は簾を撥げて看る

Ruby Net::GitHub::Upload

GitHubのdownloadsが遅延がひどく, Taberarelooのversionを0.0.2にしても一向に変化しないのと, いちいちdownloadsに入れるのが億劫になったので, Big Sky :: 被はてなブックマーク数を表示するGoogle Chrome拡張書いた。で見たNet::GitHub::Uploadを使おうと思ったのだけれど, どうせならRakefileから全部Rubyでやりたいという思いがわきあがってきたので, typesterさんのtypester/net-github-upload-perl · GitHubRubyに移植しました.
Constellation/ruby-net-github-upload · GitHub
これを使うと,

# require
require 'rubygems'
require 'net/github-upload'

# setup
login = `git config github.user`.chomp  # your login for github
token = `git config github.token`.chomp # your token for github
repos = 'repository name'               # your repos name (like 'taberareloo')
gh = Net::GitHub::Upload.new(
  :login => login,
  :token => token
)

# file upload
direct_link = gh.upload(
  :repos => repos,
  :file  => 'test/test',
  :description => "test file"
)
# direct link is link to Amazon S3.
# Because GitHub refrection for file changing is async,
# if you get changed file synchronously, you use this "direct_link"

# data upload
# you can define content_type => Amazon S3 Content-Type
direct_link = gh.upload(
  :repos => repos,
  :data  => 'test',
  :name  => "test_#{Time.now.to_i}.txt",
  :content_type => 'text/plain',
  :description => "test file2"
)

という風にGitHubにUpload出来ます.

Install

gemcutterにあげてあるので,

gem source -a http://gemcutter.org
sudo gem install net-github-upload

でいけます.

GitHubの遅延について

遅延がアレなせいで困るのですが, Amazon S3のほうだと遅延しないので, 上のsampleで返しているdirect_link(Amazon S3への直接link)を使えばいいと思います.
taberarelooの場合は

http://github.s3.amazonaws.com/downloads%2FConstellation%2Ftaberareloo%2Ftaberareloo.crx

という風なlinkでした.

追記
これでもいけますね.

http://github.s3.amazonaws.com/downloads/Constellation/taberareloo/taberareloo.crx