[ruby] gistにコードの断片をほいほいupする。
手元で軽いスケッチ書いてそれをgistで管理するってのが流行ってるんだけど、わざわざgistのページまで行って書いたコードをコピペするの面倒臭いなぁって思い、書いた。手元でスケッチ書いて名前付けて保存して実行する。
$ gist.rb hoge.pl
みたいな感じで。
#!/usr/bin/env ruby require 'pit' require 'mechanize' require 'uri' pit = Pit.get('github', :require => { 'username' => 'username', 'password' => 'password'}) BASE = URI('http://gist.github.com/') @agent = WWW::Mechanize.new login_page = @agent.get(BASE + 'login?return_to=gist') login_form = login_page.forms.first login_form['login'] = pit['username'] login_form['password'] = pit['password'] @agent.submit(login_form) gist_new_page = @agent.get(BASE) filename = ARGV.shift language = '.'+ filename.split('.').last File.open(filename) { |file| @content = file.read } gist_form = gist_new_page.forms.first gist_form["file_name[gistfile1]"] = filename gist_form["file_contents[gistfile1]"] = @content gist_form["file_ext[gistfile1]"] = language @agent.submit(gist_form) p @agent.page.links.href(/^git:/).text
ベタ書き。エラー処理も何も書いていないけど。これ自体がスケッチ。
もちろんこのソースもgistにおいてある。http://gist.github.com/2764