vagrant-bundler-tools 0.0.4 → 0.1.0

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.
@@ -3,17 +3,23 @@ module VagrantBundlerTools
3
3
  class Base < Vagrant::Command::Base
4
4
  protected
5
5
  def locate_gem(gem_name)
6
- guest_path = ssh_execute("cd /vagrant && bundle show #{gem_name}").strip
7
- unless guest_path.start_with?('/vagrant/')
6
+ bundle_show = ssh_execute("cd /vagrant && bundle show #{gem_name}").strip
7
+
8
+ if bundle_show.include?('Could not find gem')
9
+ raise Errors::GemNotFound.new(bundle_show)
10
+ end
11
+
12
+ unless bundle_show.start_with?('/vagrant/')
8
13
  raise Errors::BundlePathOutsideVagrantDirectory.new
9
14
  end
10
- host_path = guest_path.gsub(%r{^/vagrant/}, '')
15
+
16
+ host_path = bundle_show.gsub(%r{^/vagrant/}, '')
11
17
  File.expand_path(host_path)
12
18
  end
13
19
 
14
20
  def ssh_execute(command)
15
21
  output = ''
16
- with_target_vms(nil, true) do |vm|
22
+ with_target_vms(nil, :single_target => true) do |vm|
17
23
  # Basic checks that are required for proper SSH
18
24
  raise Errors::VMNotCreatedError if !vm.created?
19
25
  raise Errors::VMInaccessible if !vm.state == :inaccessible
@@ -3,5 +3,18 @@ module VagrantBundlerTools
3
3
  class BundlePathOutsideVagrantDirectory < Vagrant::Errors::VagrantError
4
4
  error_key(:bundle_path_outside_vagrant_directory, "vagrant_bundler_tools.errors")
5
5
  end
6
+
7
+ class GemNotFound < Vagrant::Errors::VagrantError
8
+ def initialize(message)
9
+ # We inherit from Vagrant::Errors::VagrantError so that Vagrant
10
+ # handles this error like other VagrantErrors but we want to skip
11
+ # VagrantError#initialize to avoid i18n translations, because we are
12
+ # just passing on the message 'bundle show' returns
13
+ #
14
+ # This call effectively calls initialize on VagrantError's superclass
15
+ # StandardError
16
+ StandardError.instance_method(:initialize).bind(self).call(message)
17
+ end
18
+ end
6
19
  end
7
20
  end
@@ -6,6 +6,6 @@ en:
6
6
 
7
7
  Run
8
8
 
9
- bundle config .bundled_gems && bundle install
9
+ bundle config path .bundled_gems && bundle install
10
10
 
11
11
  On the guest to move the bundle to a location the host can access
metadata CHANGED
@@ -1,108 +1,82 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vagrant-bundler-tools
3
- version: !ruby/object:Gem::Version
4
- hash: 23
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 4
10
- version: 0.0.4
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Joel Chippindale
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-02-09 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- type: :runtime
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 53
29
- segments:
30
- - 0
31
- - 9
32
- - 7
33
- version: 0.9.7
34
- version_requirements: *id001
12
+ date: 2012-04-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
35
15
  name: vagrant
36
- - !ruby/object:Gem::Dependency
37
- prerelease: false
16
+ requirement: &70244479668360 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.0.2
38
22
  type: :runtime
39
- requirement: &id002 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: *70244479668360
25
+ - !ruby/object:Gem::Dependency
26
+ name: i18n
27
+ requirement: &70244479667700 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 11
45
- segments:
46
- - 0
47
- - 5
48
- - 0
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
49
32
  version: 0.5.0
50
- version_requirements: *id002
51
- name: i18n
52
- - !ruby/object:Gem::Dependency
33
+ type: :runtime
53
34
  prerelease: false
54
- type: :development
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
- version: "0"
64
- version_requirements: *id003
35
+ version_requirements: *70244479667700
36
+ - !ruby/object:Gem::Dependency
65
37
  name: rake
66
- - !ruby/object:Gem::Dependency
67
- prerelease: false
68
- type: :development
69
- requirement: &id004 !ruby/object:Gem::Requirement
38
+ requirement: &70244479666960 !ruby/object:Gem::Requirement
70
39
  none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
78
- version_requirements: *id004
79
- name: rdoc
80
- - !ruby/object:Gem::Dependency
81
- prerelease: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
82
44
  type: :development
83
- requirement: &id005 !ruby/object:Gem::Requirement
45
+ prerelease: false
46
+ version_requirements: *70244479666960
47
+ - !ruby/object:Gem::Dependency
48
+ name: rdoc
49
+ requirement: &70244479665980 !ruby/object:Gem::Requirement
84
50
  none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- hash: 3
89
- segments:
90
- - 0
91
- version: "0"
92
- version_requirements: *id005
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70244479665980
58
+ - !ruby/object:Gem::Dependency
93
59
  name: minitest
94
- description: |
95
- vagrant-bundler-tools is a vagrant plugin to make it possible to interact
96
- with the guest's bundled gems directory from the host.
60
+ requirement: &70244479665080 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70244479665080
69
+ description: ! 'vagrant-bundler-tools is a vagrant plugin to make it possible to interact
97
70
 
71
+ with the guest''s bundled gems directory from the host.
72
+
73
+ '
98
74
  email: joel@joelchippindale.com
99
75
  executables: []
100
-
101
76
  extensions: []
102
-
103
- extra_rdoc_files:
77
+ extra_rdoc_files:
104
78
  - README.mdown
105
- files:
79
+ files:
106
80
  - README.mdown
107
81
  - lib/vagrant_bundler_tools.rb
108
82
  - lib/vagrant_bundler_tools/command/base.rb
@@ -115,37 +89,31 @@ files:
115
89
  - templates/locales/en.yml
116
90
  homepage: http://github.com/mocoso/vagrant-bundler-tools
117
91
  licenses: []
118
-
119
92
  post_install_message:
120
- rdoc_options:
93
+ rdoc_options:
121
94
  - --main
122
95
  - README.mdown
123
- require_paths:
96
+ require_paths:
124
97
  - lib
125
- required_ruby_version: !ruby/object:Gem::Requirement
98
+ required_ruby_version: !ruby/object:Gem::Requirement
126
99
  none: false
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- hash: 3
131
- segments:
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ segments:
132
105
  - 0
133
- version: "0"
134
- required_rubygems_version: !ruby/object:Gem::Requirement
106
+ hash: 2994350765114139325
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
108
  none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
143
113
  requirements: []
144
-
145
114
  rubyforge_project:
146
- rubygems_version: 1.8.6
115
+ rubygems_version: 1.8.11
147
116
  signing_key:
148
117
  specification_version: 3
149
118
  summary: Vagrant plugin for working with the guest's bundled gems
150
119
  test_files: []
151
-