Merge branch 'generic-bucket' of https://github.com/gnustavo/vagrant-cachier
This commit is contained in:
commit
ffd6c514dd
3 changed files with 61 additions and 0 deletions
41
docs/buckets/generic.md
Normal file
41
docs/buckets/generic.md
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# Generic
|
||||||
|
|
||||||
|
This bucket is never enabled by default. You have to enable it explicitly like
|
||||||
|
this:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.cache.enable :generic, { :cache_dir => "/var/cache/some" }
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
The :cache_dir parameter is required. It specifies the directory on the guest
|
||||||
|
that will be cached under the "generic" bucket.
|
||||||
|
|
||||||
|
You may enable more than one generic bucket by giving them different names via
|
||||||
|
the :name parameter, like this:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.cache.enable :generic, { :name => "one", :cache_dir => "/var/cache/one" }
|
||||||
|
config.cache.enable :generic, { :name => "two", :cache_dir => "/var/cache/two" }
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
In this case you get two buckets called "generic-one" and "generic-two".
|
||||||
|
|
||||||
|
The Generic bucket is useful if you want to implement a caching mechanism by
|
||||||
|
hand. For instance, if you want to cache your wget downloads under
|
||||||
|
/var/cache/wget you can do this:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.cache.enable :generic, { :name => wget, :cache_dir => "/var/cache/wget" }
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, you invoke wget like this:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
wget -N -P /var/cache/wget URL
|
||||||
|
```
|
|
@ -98,3 +98,4 @@ require_relative "bucket/apt_lists"
|
||||||
require_relative "bucket/composer"
|
require_relative "bucket/composer"
|
||||||
require_relative "bucket/npm"
|
require_relative "bucket/npm"
|
||||||
require_relative "bucket/zypper"
|
require_relative "bucket/zypper"
|
||||||
|
require_relative "bucket/generic"
|
||||||
|
|
19
lib/vagrant-cachier/bucket/generic.rb
Normal file
19
lib/vagrant-cachier/bucket/generic.rb
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
module VagrantPlugins
|
||||||
|
module Cachier
|
||||||
|
class Bucket
|
||||||
|
class Generic < Bucket
|
||||||
|
def self.capability
|
||||||
|
:generic_cache_dir
|
||||||
|
end
|
||||||
|
|
||||||
|
def install
|
||||||
|
if @configs.has_key?(:cache_dir)
|
||||||
|
@name = @configs.has_key?(:name) ? "generic-#{@configs[:name]}" : "generic"
|
||||||
|
symlink(@configs[:cache_dir])
|
||||||
|
else
|
||||||
|
@env[:ui].info I18n.t('vagrant_cachier.skipping_bucket', bucket: 'Generic')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue