プログラミング 美徳の不幸

Ruby, Rails, JavaScriptなどのプログラミングまとめ、解説、備忘録。

2012-11-01から1ヶ月間の記事一覧

結局こうした。

def set_revision(kommit) repo = kommit.repository.repo Dir.chdir(repo.working_dir) do `git commit -m "#{kommit.message}"` branch_name = kommit.init_at.try(:name) || "master" output = `git rev-list #{branch_name}` newest_revision = output.s…

非同期の罠

最近こんなユニットテストを書いた。◯spec/models/kommit_spec.rb describe Kommit do it "return git message" do @user = create(:user) create_repository_for(@user) @repository.master.posts.create({title:"hoge",body:"fuga"}) @kommit = build(:kom…

プロセスの排他制御

今作ってるGithub風のものはデータストアとしてRDBMSも使っているんですが、レポジトリ本体はファイルシステムとして、素のgitレポジトリで管理しています。 で、ファイルでデータを持つというのはウェブアプリではあまり聞かないような気がしますが(あって…

意外と難しいObserver

ObserverとはActiveRecordが提供する、モデルに対するイベント処理を可能にするRailsの機構です。もちろん同様のことはモデル中に before_create :メソッド名 の形で記述すればいいわけですが、Observerを用意することで別ファイルに出き、見通しがよいこと…