Sha256: 8b9b940063f484956c41b9f12f685db9294d9fa11bc3769a8183d3fb3acad33f

Contents?: true

Size: 795 Bytes

Versions: 2

Compression:

Stored size: 795 Bytes

Contents

#!/usr/bin/env ruby

ENV["GEM_HOME"] = File.expand_path("../../vendor/gems", __FILE__)
ENV["GEM_PATH"] = File.expand_path("../../vendor/gems", __FILE__)

require "rubygems"

id  = ARGV.shift
command = ARGV.shift
prefix = ARGV.shift

require "couchrest"
require "fileutils"
require "tmpdir"

db = CouchRest.database!(ENV["CLOUDANT_URL"] + ":5984/make")

Dir.mktmpdir do |dir|
  Dir.chdir(dir) do
    doc = db.get(id)

    File.open("input.tgz", "wb") do |file|
      file.print doc.fetch_attachment("input")
    end

    FileUtils.mkdir_p "input"

    Dir.chdir("input") do
      %x{ tar xzf ../input.tgz 2>&1 }
      system command
    end

    Dir.chdir(prefix) do
      %x{ tar czf #{dir}/output.tgz * 2>&1 }
    end

    doc.put_attachment("output", File.open("#{dir}/output.tgz"))
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vulcan-0.0.3 server/bin/make
vulcan-0.0.2 server/bin/make