vagrant-shell-commander 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 15261a751e3748d72ae2854152b6d178f7b8067d
4
- data.tar.gz: 157a84e1cf72f54af228156dd71b46b74118865c
3
+ metadata.gz: 403a125165298249437e85389ce789910632112c
4
+ data.tar.gz: fd638477217db9608c676f844db41403f048f4eb
5
5
  SHA512:
6
- metadata.gz: 32cb3646c609231e52928ed283f799f4cbba4221e72d44806c745d0bd6cc6e714cd9971690d74321fa039ebe2cc0b0de1a1ab24c466ec48e0956e0be0c90ebea
7
- data.tar.gz: a22e56749097eb24220eedb05334acf34f101f56482499a2cec15e95bf8fefb8659539ba43034ac0466a6c979b8386208bb8c1767b9635047694cb79a27232d1
6
+ metadata.gz: 2ae90d5c54a55ae0b63ccf8ecb1eb0edc17afafd05ed404d8c4e3ceda3397144e282a81ccd57f6b6e97e118001bb75969c22684257b6c935ccf903f5047d94e2
7
+ data.tar.gz: 2a88eb19682d112a8eca43ddd66463f2b83e31561633666579831f6bdb845d9ceb226273d42aa52a3a08cb3aaa77e9548cbfbd4ac82b1e20384044c5f03ba4a4
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
3
+ - 2.1.2
4
4
  install: bundle install
5
5
  script: bundle exec rake
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git", tag: 'v1.5.1'
7
+ gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git", tag: 'v1.6.2'
8
8
  end
9
9
 
10
10
  group :plugins do
data/Gemfile.lock CHANGED
@@ -1,51 +1,77 @@
1
1
  GIT
2
2
  remote: git://github.com/mitchellh/vagrant.git
3
- revision: 6977e93ba98fd19112b1fed74dafb8619f581984
4
- tag: v1.5.1
3
+ revision: 970ed5068ede4f6aae4b51e2cabe872aa924cacf
4
+ tag: v1.6.2
5
5
  specs:
6
- vagrant (1.5.1)
7
- bundler (~> 1.5.2)
6
+ vagrant (1.6.2)
7
+ bundler (>= 1.5.2, < 1.7.0)
8
8
  childprocess (~> 0.5.0)
9
9
  erubis (~> 2.7.0)
10
10
  i18n (~> 0.6.0)
11
- listen (~> 2.4.0)
11
+ listen (~> 2.7.1)
12
12
  log4r (~> 1.1.9, < 1.1.11)
13
13
  net-scp (~> 1.1.0)
14
- net-ssh (>= 2.6.6, < 2.8.0)
14
+ net-ssh (>= 2.6.6, < 2.10.0)
15
15
  rb-kqueue (~> 0.2.0)
16
16
  wdm (~> 0.1.0)
17
+ winrm (~> 1.1.3)
17
18
 
18
19
  PATH
19
20
  remote: .
20
21
  specs:
21
- vagrant-shell-commander (0.3.1)
22
+ vagrant-shell-commander (0.3.2)
22
23
 
23
24
  GEM
24
25
  remote: https://rubygems.org/
25
26
  specs:
27
+ akami (1.2.2)
28
+ gyoku (>= 0.4.0)
29
+ nokogiri
30
+ builder (3.2.2)
26
31
  cane (2.6.0)
27
32
  parallel
28
33
  celluloid (0.15.2)
29
34
  timers (~> 1.1.0)
30
- childprocess (0.5.1)
35
+ childprocess (0.5.3)
31
36
  ffi (~> 1.0, >= 1.0.11)
37
+ columnize (0.8.9)
38
+ debugger-linecache (1.2.0)
39
+ debugger2 (1.0.0.beta2)
40
+ columnize (>= 0.3.1)
41
+ debugger-linecache (~> 1.2.0)
32
42
  diff-lcs (1.2.4)
33
43
  erubis (2.7.0)
34
44
  ffi (1.9.3)
45
+ gssapi (1.0.3)
46
+ ffi (>= 1.0.1)
47
+ gyoku (1.1.1)
48
+ builder (>= 2.1.2)
49
+ httpclient (2.3.4.1)
50
+ httpi (0.9.7)
51
+ rack
35
52
  i18n (0.6.9)
36
- listen (2.4.1)
53
+ listen (2.7.5)
37
54
  celluloid (>= 0.15.2)
38
55
  rb-fsevent (>= 0.9.3)
39
56
  rb-inotify (>= 0.9)
57
+ little-plugger (1.1.3)
40
58
  log4r (1.1.10)
59
+ logging (1.8.1)
60
+ little-plugger (>= 1.1.3)
61
+ multi_json (>= 1.3.6)
62
+ mini_portile (0.6.0)
41
63
  multi_json (1.7.7)
42
64
  net-scp (1.1.2)
43
65
  net-ssh (>= 2.6.5)
44
- net-ssh (2.7.0)
66
+ net-ssh (2.9.1)
67
+ nokogiri (1.6.2.1)
68
+ mini_portile (= 0.6.0)
69
+ nori (1.1.5)
45
70
  parallel (0.7.1)
71
+ rack (1.5.2)
46
72
  rake (10.1.0)
47
73
  rb-fsevent (0.9.4)
48
- rb-inotify (0.9.3)
74
+ rb-inotify (0.9.4)
49
75
  ffi (>= 0.5.0)
50
76
  rb-kqueue (0.2.2)
51
77
  ffi (>= 0.5.0)
@@ -66,13 +92,33 @@ GEM
66
92
  sexp_processor (~> 4.0)
67
93
  ruby_parser (3.1.3)
68
94
  sexp_processor (~> 4.1)
95
+ rubyntlm (0.1.1)
96
+ savon (0.9.5)
97
+ akami (~> 1.0)
98
+ builder (>= 2.1.2)
99
+ gyoku (>= 0.4.0)
100
+ httpi (~> 0.9)
101
+ nokogiri (>= 1.4.0)
102
+ nori (~> 1.0)
103
+ wasabi (~> 1.0)
69
104
  sexp_processor (4.2.1)
70
105
  simplecov (0.7.1)
71
106
  multi_json (~> 1.0)
72
107
  simplecov-html (~> 0.7.1)
73
108
  simplecov-html (0.7.1)
74
109
  timers (1.1.0)
110
+ uuidtools (2.1.4)
111
+ wasabi (1.0.0)
112
+ nokogiri (>= 1.4.0)
75
113
  wdm (0.1.0)
114
+ winrm (1.1.3)
115
+ gssapi (~> 1.0.0)
116
+ httpclient (~> 2.2, >= 2.2.0.2)
117
+ logging (~> 1.6, >= 1.6.1)
118
+ nokogiri (~> 1.5)
119
+ rubyntlm (~> 0.1.1)
120
+ savon (= 0.9.5)
121
+ uuidtools (~> 2.1.2)
76
122
  yard (0.8.6.2)
77
123
 
78
124
  PLATFORMS
@@ -81,6 +127,7 @@ PLATFORMS
81
127
  DEPENDENCIES
82
128
  bundler (~> 1.3)
83
129
  cane
130
+ debugger2
84
131
  rake
85
132
  reek
86
133
  rspec
data/README.md CHANGED
@@ -58,7 +58,3 @@ This can be handy if, for example, you want an application to start on boot and
58
58
  4. Commit your changes (`git commit -am 'Add some feature'`)
59
59
  5. Push to the branch (`git push origin my-new-feature`)
60
60
  6. Create new Pull Request
61
-
62
-
63
- [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/fgimenez/vagrant-shell-commander/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
64
-
data/Vagrantfile CHANGED
@@ -1,5 +1,3 @@
1
- Vagrant.require_plugin "vagrant-shell-commander"
2
-
3
1
  Vagrant.configure("2") do |config|
4
2
  config.vm.box = "canonical-ubuntu-12.04"
5
3
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box"
@@ -1,3 +1,5 @@
1
+ require "log4r"
2
+
1
3
  module VagrantPlugins
2
4
  module ShellCommander
3
5
  # Action for shell command hooking
@@ -11,8 +13,9 @@ module VagrantPlugins
11
13
  # @return nil
12
14
  #
13
15
  def initialize(app, env)
14
- @app = app
15
- @machine = env[:machine]
16
+ @app = app
17
+ @env = env
18
+ @logger = Log4r::Logger.new("vagrant::plugins::shell-commander::action")
16
19
  end
17
20
 
18
21
  # Call method of this middleware
@@ -21,11 +24,13 @@ module VagrantPlugins
21
24
  # @return nil
22
25
  #
23
26
  def call(env)
27
+ @logger.debug("hook fired for action #{@env[:action_name]}, machine_action: #{@env[:machine_action]}")
24
28
  @app.call(env)
25
- unless env[:machine].config.sh.after_share_folders.nil?
26
- @machine.action(:ssh_run,
27
- ssh_run_command: env[:machine].config.sh.after_share_folders,
28
- ssh_opts: {extra_args: []})
29
+ if @env[:machine] && @env[:machine].state.id != :poweroff &&
30
+ ! @env[:machine].config.sh.after_share_folders.nil?
31
+ @env[:machine].action(:ssh_run,
32
+ ssh_run_command: @env[:machine].config.sh.after_share_folders,
33
+ ssh_opts: {extra_args: []})
29
34
  end
30
35
  end
31
36
  end
@@ -13,10 +13,8 @@ module VagrantPlugins
13
13
  Config
14
14
  end
15
15
 
16
- %w[up reload].each do |event|
17
- action_hook("sh_hook_#{event}".to_sym, "machine_action_#{event}".to_sym) do |hook|
18
- hook.append(Action)
19
- end
16
+ action_hook :sh_hook do |hook|
17
+ hook.after(Vagrant::Action::Builtin::Provision, Action)
20
18
  end
21
19
  end
22
20
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module ShellCommander
3
- VERSION = "0.3.1"
3
+ VERSION = "0.3.2"
4
4
  end
5
5
  end
data/spec/action_spec.rb CHANGED
@@ -2,13 +2,13 @@ require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::ShellCommander::Action do
4
4
  let(:app) {double(call: true)}
5
- let(:machine) {double(action: true)}
6
- let(:env) {double(:[] => machine)}
5
+ let(:state) {double(id: :poweron)}
7
6
  let(:cmd) {'cmd'}
8
7
  let(:sh) {double(after_share_folders: cmd)}
9
8
  let(:config) {double(sh: sh)}
10
- let(:machine_env) {double(config: config)}
9
+ let(:machine_env) {double(config: config, state: state, action: true)}
11
10
  let(:action_env) {{machine: machine_env}}
11
+ let(:env) {double(:[] => machine_env)}
12
12
  let(:subject) {described_class.new(app, env)}
13
13
 
14
14
  describe "#call" do
@@ -20,23 +20,30 @@ describe VagrantPlugins::ShellCommander::Action do
20
20
 
21
21
  describe "SSHRun call" do
22
22
  it "should call SSHRun action of the current machine with the after_boot option as command" do
23
- allow(env).to receive(:[]).with(:machine).and_return(machine)
24
-
25
- expect(machine).to receive(:action).with(:ssh_run, ssh_run_command: cmd, ssh_opts: {:extra_args=>[]})
23
+ expect(machine_env).to receive(:action).with(:ssh_run, ssh_run_command: cmd, ssh_opts: {extra_args: []})
26
24
 
27
25
  subject.call(action_env)
28
26
  end
29
27
 
30
- it "should not call SSHRun action if after_boot option is nil" do
31
- sh = double(after_share_folders: nil)
32
- config = double(sh: sh)
33
- machine_env = double(config: config)
28
+ it "should not call SSHRun action if after_share_folder option is nil" do
29
+ machine_env = double(config: config, state: state)
30
+ action_env = {machine: machine_env}
31
+
32
+ expect(machine_env).not_to receive(:action)
33
+
34
+ subject.call(action_env)
35
+ end
36
+
37
+ it "should not call SSHRun action if machine is not powered on" do
38
+ state = double(id: :poweroff)
39
+ machine_env = double(config: config, state: state, action: true)
34
40
  action_env = {machine: machine_env}
35
41
 
36
- expect(machine).not_to receive(:action)
42
+ expect(machine_env).not_to receive(:action)
37
43
 
38
44
  subject.call(action_env)
39
45
  end
46
+
40
47
  end
41
48
  end
42
49
  end
data/spec/plugin_spec.rb CHANGED
@@ -18,20 +18,11 @@ describe VagrantPlugins::ShellCommander::Plugin do
18
18
  context 'action hooks' do
19
19
  let(:hook) {double(append: true, prepend: true)}
20
20
 
21
- it "should define an action hook for machine_action_up" do
22
- hook_proc = described_class.components.action_hooks[:machine_action_up][0]
21
+ it 'should define an action hook for after share folders' do
22
+ hook_proc = described_class.components.action_hooks[:__all_actions__][0]
23
23
  hook = double
24
- expect(hook).to receive(:append).with(VagrantPlugins::ShellCommander::Action)
24
+ expect(hook).to receive(:after).with(Vagrant::Action::Builtin::Provision, VagrantPlugins::ShellCommander::Action)
25
25
  hook_proc.call(hook)
26
26
  end
27
-
28
- it "should define an action hook for machine_action_reload" do
29
- hook_proc = described_class.components.action_hooks[:machine_action_reload][0]
30
- hook = double
31
- expect(hook).to receive(:append).with(VagrantPlugins::ShellCommander::Action)
32
- hook_proc.call(hook)
33
- end
34
-
35
27
  end
36
-
37
28
  end
@@ -25,4 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "cane"
26
26
  spec.add_development_dependency "yard"
27
27
  spec.add_development_dependency "simplecov"
28
+ spec.add_development_dependency "debugger2"
28
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-shell-commander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Gimenez Nieto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-17 00:00:00.000000000 Z
11
+ date: 2014-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: debugger2
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: Vagrant plugin for executing shell commands on guests machines and hooking
112
126
  them in the boot process
113
127
  email: