From dc2d8f85724772c144f70395c0f34edb6a46fa22 Mon Sep 17 00:00:00 2001
From: Fabio Rehm <fgrehm@gmail.com>
Date: Tue, 26 Mar 2013 21:57:47 -0300
Subject: [PATCH] Caches gem tarballs on dev boxes

---
 development/Vagrantfile.1.1 | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/development/Vagrantfile.1.1 b/development/Vagrantfile.1.1
index 1b9272c..53b52b4 100644
--- a/development/Vagrantfile.1.1
+++ b/development/Vagrantfile.1.1
@@ -1,7 +1,7 @@
 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 
-def local_cache(box_name)
+def local_apt_cache(box_name)
   cache_dir = File.join(File.expand_path(Vagrant::Environment::DEFAULT_HOME),
                         'cache',
                         'apt',
@@ -11,6 +11,16 @@ def local_cache(box_name)
   cache_dir
 end
 
+def local_gem_cache(box_name)
+  cache_dir = File.join(File.expand_path(Vagrant::Environment::DEFAULT_HOME),
+                        'cache',
+                        'gems',
+                        'source',
+                        box_name)
+  FileUtils.mkdir_p(cache_dir) unless File.exists? cache_dir
+  cache_dir
+end
+
 Vagrant.require_plugin 'vagrant-lxc'
 
 Vagrant.configure("2") do |config|
@@ -18,8 +28,11 @@ Vagrant.configure("2") do |config|
 
   config.vm.synced_folder "../", "/vagrant", name: 'vagrant-root'
 
-  cache_dir = local_cache(config.vm.box)
-  config.vm.synced_folder cache_dir, "/var/cache/apt/archives", name: "vagrant-cache"
+  cache_dir = local_apt_cache(config.vm.box)
+  config.vm.synced_folder cache_dir, "/var/cache/apt/archives", name: "vagrant-apt-cache"
+
+  cache_dir = local_gem_cache(config.vm.box)
+  config.vm.synced_folder cache_dir, "/home/vagrant/gems/cache", name: "vagrant-gem-cache"
 
   config.vm.define :vbox do |vb_config|
     vb_config.vm.box_url  = "https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box"