vagrant-bundler-tools 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-