Skip to content

Commit

Permalink
Cleaned up the vagrant init command, updated CHANGELOG
Browse files Browse the repository at this point in the history
  • Loading branch information
mitchellh committed Aug 2, 2010
1 parent 423e50f commit 992bd13
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 14 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## 0.5.2 (unreleased)


- Added ability to specify box url in `init`, which populates the
Vagrantfile with the proper `config.vm.box_url`.

## 0.5.1 (July 31, 2010)

Expand Down
11 changes: 3 additions & 8 deletions lib/vagrant/commands/init.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,7 @@ class Init < Base
description "Initializes current folder for Vagrant usage"

def execute(args)
if args.empty?
create_vagrantfile
else
create_vagrantfile(:default_box => args[0] , :default_box_url => args[1])
end

create_vagrantfile(:default_box => args[0] , :default_box_url => args[1])
end

def options_spec(opts)
Expand All @@ -30,10 +25,10 @@ def create_vagrantfile(opts={})
error_and_exit(:rootfile_already_exists) if File.exist?(rootfile_path)

# Write the rootfile
default_opts = { :default_box => "base", :default_box_url => nil}.merge(opts)
opts = { :default_box => "base", :default_box_url => nil}.merge(opts)

File.open(rootfile_path, 'w+') do |f|
f.write(TemplateRenderer.render(Environment::ROOTFILE_NAME, :default_box => default_opts[:default_box], :default_box_url => default_opts[:default_box_url]))
f.write(TemplateRenderer.render(Environment::ROOTFILE_NAME, opts))
end
end
end
Expand Down
10 changes: 5 additions & 5 deletions test/vagrant/commands/init_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ class CommandsInitTest < Test::Unit::TestCase
context "execute" do
should "create a vagrant file without any args" do
args = []
@instance.expects(:create_vagrantfile).with(nil)
@instance.expects(:create_vagrantfile).with(:default_box => nil, :default_box_url => nil)
@instance.execute(args)
end
end
context "when any arg is provided" do
should "create the vagrant file using the first arg as default_box and the second as default_box_url" do
args = []
Expand All @@ -23,7 +23,7 @@ class CommandsInitTest < Test::Unit::TestCase
@instance.expects(:create_vagrantfile).with(:default_box => "foo", :default_box_url => "foo.box")
@instance.execute(args)
end
end
end
end

context "creating the vagrantfile" do
Expand Down Expand Up @@ -58,10 +58,10 @@ class CommandsInitTest < Test::Unit::TestCase
end

should "use the box_url if given" do
box_url = "fubar.box"
box_url = "fubar.box"
Vagrant::Util::TemplateRenderer.expects(:render).with(Vagrant::Environment::ROOTFILE_NAME, :default_box => "base", :default_box_url => "fubar.box")
@instance.create_vagrantfile :default_box_url => box_url
end
end

should "use the default `base` if no box is given" do
Vagrant::Util::TemplateRenderer.expects(:render).with(Vagrant::Environment::ROOTFILE_NAME, :default_box => "base", :default_box_url => nil)
Expand Down

0 comments on commit 992bd13

Please sign in to comment.