2010-02-22 21:27:57 -08:00

42 lines
730 B
Ruby

module Vagrant
class Box < Actions::Runner
attr_accessor :name
attr_accessor :uri
attr_accessor :temp_path
class <<self
# Finds a box by the given name
def find(name)
return nil unless File.directory?(directory(name))
new(name)
end
def add(name, uri)
box = new
box.name = name
box.uri = uri
box.add
end
def directory(name)
File.join(Env.boxes_path, name)
end
end
def initialize(name=nil)
@name = name
end
def add
execute!(Actions::Box::Add)
end
def destroy
FileUtils.rm_rf(directory)
end
def directory
self.class.directory(self.name)
end
end
end