guard-rake-vagrant 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,3 +2,63 @@ guard-rake-vagrant
2
2
  ==================
3
3
 
4
4
  Guard Plugin that uses Rake and Vagrant to converge cookbooks and run integration tests.
5
+
6
+ Software & Tools
7
+ ------------
8
+
9
+ This gem depends on the well installation of the following software & tools:
10
+ * Vagrant - Recomended version 1.2.2 - http://downloads.vagrantup.com/tags/v1.2.2
11
+ * Vagrant Plugins
12
+ * vagrant-berkshelf (1.3.7)
13
+ * vagrant-windows (1.5.1)
14
+ ```
15
+ # vagrant plugin install vagrant-berkshelf
16
+ # vagrant plugin install vagrant-windows
17
+ ```
18
+
19
+ Installation
20
+ ------------
21
+
22
+ Add this line to your application's Gemfile:
23
+
24
+ gem 'guard-rake-vagrant'
25
+
26
+ And then execute:
27
+
28
+ $ bundle install
29
+
30
+ Or install it yourself as:
31
+
32
+ $ gem install guard-rake-vagrant
33
+
34
+ Setup
35
+ ------------
36
+
37
+ Create a Guardfile:
38
+ ```
39
+ guard :rake, :task => 'doit' do
40
+ watch(%r{^test/.+_spec\.rb$})
41
+ end
42
+ ```
43
+
44
+ Create a Rakefile:
45
+ ```
46
+ require 'rake'
47
+ require 'rspec/core/rake_task'
48
+
49
+ RSpec::Core::RakeTask.new(:doit) do |t|
50
+ # actions (may reference t)
51
+ end
52
+
53
+ desc "This is the description of my :doit task "
54
+ ```
55
+
56
+ And then execute:
57
+
58
+ $ bundle exec guard
59
+
60
+
61
+ Authors
62
+ ------------
63
+ Created and maintained by [Salim Afiune](https://github.com/afiune) (salim@afiunemaya.com.mx) and the community.
64
+
@@ -23,14 +23,14 @@ module Guard
23
23
  end
24
24
 
25
25
  def destroy
26
- ::Guard::UI.info("Guard::Rake::Vagrant is stopping")
26
+ ::Guard::UI.info("Guard::Rake::Vagrant box is stopping")
27
27
  cmd = Mixlib::ShellOut.new("vagrant destroy -f")
28
28
  cmd.live_stream = STDOUT
29
29
  cmd.run_command
30
30
  begin
31
31
  cmd.error!
32
32
  rescue Mixlib::ShellOut::ShellCommandFailed => e
33
- ::Guard::UI.info("Vagrant BOX failed #{e.to_s}")
33
+ ::Guard::UI.info("Vagrant box failed #{e.to_s}")
34
34
  throw :task_has_failed
35
35
  ensure
36
36
  # Sometimes, we leave the occasional shell process unreaped!
@@ -39,20 +39,24 @@ module Guard
39
39
  end
40
40
 
41
41
  def provision
42
- # Box is running?
43
- UI.info "Guard::Vagrant provision"
42
+ UI.info "Guard::Rake::Vagrant box is provisioning"
44
43
  cmd = Mixlib::ShellOut.new("vagrant provision", :timeout => 10800)
45
44
  cmd.live_stream = STDOUT
46
45
  cmd.run_command
47
46
 
48
47
  begin
49
48
  cmd.error!
50
- Notifier.notify('Vagrant provisioned', :title => 'guard-vagrant', :image => :success)
49
+ Notifier.notify('Vagrant box provisioned', :title => 'guard-vagrant', :image => :success)
51
50
  rescue Mixlib::ShellOut::ShellCommandFailed => e
52
- Notifier.notify('Vagrant provision failed', :title => 'guard-vagrant', :image => :failed)
53
- ::Guard::UI.info("Vagrant provision failed with #{e.to_s}")
51
+ Notifier.notify('Vagrant box provision failed', :title => 'guard-vagrant', :image => :failed)
52
+ ::Guard::UI.info("Vagrant box provision failed with #{e.to_s}")
54
53
  throw :task_has_failed
55
54
  end
55
+
56
+ if cmd.stdout =~ /VM is not currently running/
57
+ UI.info "Guard::Rake::Vagrant box is not running"
58
+ self.up
59
+ end
56
60
  end
57
61
  end
58
62
  end
@@ -1,7 +1,7 @@
1
1
  module Guard
2
2
  module Rake
3
3
  module Vagrant
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-rake-vagrant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: