vagrant-bundler-tools 0.1.0 → 0.1.1

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.
@@ -1,43 +1,7 @@
1
1
  # Vagrant-bundler-tools
2
2
 
3
- This gem is a plugin for vagrant that makes it possible to interact with
4
- bundled gems on the guest directly from the host.
5
-
6
- For example you can open a gem bundled on your linux guest in your OSX host's
7
- editor.
8
-
9
- ## Installation
10
-
11
- gem install vagrant-bundler-tools
12
-
13
- ## Usage
14
-
15
- To open a gem bundled on your guest in your host's editor use
16
-
17
- vagrant bundle open <gem_name>
18
-
19
- from the host.
20
-
21
- ## Other commands
22
-
23
- You can also use
24
-
25
- - List bundled gems on the host
26
-
27
- vagrant bundle list
28
-
29
- - Show path (on the host) to the named gem bundled on the guest
30
-
31
- vagrant bundle show <gem_name>
32
-
33
- ## Caveats
34
-
35
- You will need to set the bundle path on the guest to be a subdirectory of the
36
- project so that the host can access it, for example with
37
-
38
- bundle config path .bundled_gems
39
-
40
- in the project directory on the guest.
3
+ This gem has been renamed vagrant-bundler, please install vagrant-bundler
4
+ instead.
41
5
 
42
6
  ## MIT License
43
7
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-bundler-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,33 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-28 00:00:00.000000000 Z
12
+ date: 2012-05-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: vagrant
16
- requirement: &70244479668360 !ruby/object:Gem::Requirement
15
+ name: vagrant-bundler
16
+ requirement: &70287023329640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - =
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.2
21
+ version: 0.1.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70244479668360
25
- - !ruby/object:Gem::Dependency
26
- name: i18n
27
- requirement: &70244479667700 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: 0.5.0
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70244479667700
24
+ version_requirements: *70287023329640
36
25
  - !ruby/object:Gem::Dependency
37
26
  name: rake
38
- requirement: &70244479666960 !ruby/object:Gem::Requirement
27
+ requirement: &70287023329240 !ruby/object:Gem::Requirement
39
28
  none: false
40
29
  requirements:
41
30
  - - ! '>='
@@ -43,32 +32,11 @@ dependencies:
43
32
  version: '0'
44
33
  type: :development
45
34
  prerelease: false
46
- version_requirements: *70244479666960
47
- - !ruby/object:Gem::Dependency
48
- name: rdoc
49
- requirement: &70244479665980 !ruby/object:Gem::Requirement
50
- none: false
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
59
- name: minitest
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
35
+ version_requirements: *70287023329240
36
+ description: ! 'vagrant-bundler-tools has been renamed vagrant-bundler, please install
37
+ this
70
38
 
71
- with the guest''s bundled gems directory from the host.
39
+ instead.
72
40
 
73
41
  '
74
42
  email: joel@joelchippindale.com
@@ -78,21 +46,10 @@ extra_rdoc_files:
78
46
  - README.mdown
79
47
  files:
80
48
  - README.mdown
81
- - lib/vagrant_bundler_tools.rb
82
- - lib/vagrant_bundler_tools/command/base.rb
83
- - lib/vagrant_bundler_tools/command/bundle.rb
84
- - lib/vagrant_bundler_tools/command/bundle_list.rb
85
- - lib/vagrant_bundler_tools/command/bundle_open.rb
86
- - lib/vagrant_bundler_tools/command/bundle_show.rb
87
- - lib/vagrant_bundler_tools/errors.rb
88
- - lib/vagrant_init.rb
89
- - templates/locales/en.yml
90
- homepage: http://github.com/mocoso/vagrant-bundler-tools
49
+ homepage: http://github.com/mocoso/vagrant-bundler
91
50
  licenses: []
92
51
  post_install_message:
93
- rdoc_options:
94
- - --main
95
- - README.mdown
52
+ rdoc_options: []
96
53
  require_paths:
97
54
  - lib
98
55
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -103,7 +60,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
60
  version: '0'
104
61
  segments:
105
62
  - 0
106
- hash: 2994350765114139325
63
+ hash: -3174316831503469718
107
64
  required_rubygems_version: !ruby/object:Gem::Requirement
108
65
  none: false
109
66
  requirements:
@@ -1,21 +0,0 @@
1
- require 'vagrant'
2
- require 'vagrant_bundler_tools/command/base'
3
- require 'vagrant_bundler_tools/command/bundle'
4
- require 'vagrant_bundler_tools/command/bundle_list'
5
- require 'vagrant_bundler_tools/command/bundle_open'
6
- require 'vagrant_bundler_tools/command/bundle_show'
7
- require 'vagrant_bundler_tools/errors'
8
-
9
- module VagrantBundlerTools
10
-
11
- # The source root is the path to the root directory of
12
- # the VagrantBundlerTools gem.
13
- def self.source_root
14
- @source_root ||= Pathname.new(File.expand_path('../../', __FILE__))
15
- end
16
- end
17
-
18
- Vagrant.commands.register(:bundle) { VagrantBundlerTools::Command::Bundle }
19
-
20
- # # Default I18n to load the en locale
21
- I18n.load_path << File.expand_path("templates/locales/en.yml", VagrantBundlerTools.source_root)
@@ -1,37 +0,0 @@
1
- module VagrantBundlerTools
2
- module Command
3
- class Base < Vagrant::Command::Base
4
- protected
5
- def locate_gem(gem_name)
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/')
13
- raise Errors::BundlePathOutsideVagrantDirectory.new
14
- end
15
-
16
- host_path = bundle_show.gsub(%r{^/vagrant/}, '')
17
- File.expand_path(host_path)
18
- end
19
-
20
- def ssh_execute(command)
21
- output = ''
22
- with_target_vms(nil, :single_target => true) do |vm|
23
- # Basic checks that are required for proper SSH
24
- raise Errors::VMNotCreatedError if !vm.created?
25
- raise Errors::VMInaccessible if !vm.state == :inaccessible
26
- raise Errors::VMNotRunningError if vm.state != :running
27
-
28
- vm.channel.execute(command, :error_check => false) do |type, data|
29
- output << data.to_s
30
- end
31
- end
32
-
33
- output
34
- end
35
- end
36
- end
37
- end
@@ -1,53 +0,0 @@
1
- require 'optparse'
2
-
3
- module VagrantBundlerTools
4
- module Command
5
- class Bundle < Base
6
- def initialize(argv, env)
7
- super
8
-
9
- @main_args, @sub_command, @sub_args = split_main_and_subcommand(argv)
10
-
11
- @subcommands = Vagrant::Registry.new
12
- @subcommands.register(:list) { VagrantBundlerTools::Command::BundleList }
13
- @subcommands.register(:open) { VagrantBundlerTools::Command::BundleOpen }
14
- @subcommands.register(:show) { VagrantBundlerTools::Command::BundleShow }
15
- end
16
-
17
- def execute
18
- if @main_args.include?("-h") || @main_args.include?("--help")
19
- # Print the help for all the box commands.
20
- return help
21
- end
22
-
23
- # If we reached this far then we must have a subcommand. If not,
24
- # then we also just print the help and exit.
25
- command_class = @subcommands.get(@sub_command.to_sym) if @sub_command
26
- return help if !command_class || !@sub_command
27
-
28
- # Initialize and execute the command class
29
- command_class.new(@sub_args, @env).execute
30
- end
31
-
32
- # Prints the help out for this command
33
- def help
34
- opts = OptionParser.new do |opts|
35
- opts.banner = "Usage: vagrant bundle <command> [<args>]"
36
- opts.separator ""
37
- opts.separator "Available subcommands:"
38
-
39
- # Add the available subcommands as separators in order to print them
40
- # out as well.
41
- keys = []
42
- @subcommands.each { |key, value| keys << key }
43
-
44
- keys.each do |key|
45
- opts.separator " #{key}"
46
- end
47
- end
48
-
49
- @env.ui.info(opts.help, :prefix => false)
50
- end
51
- end
52
- end
53
- end
@@ -1,11 +0,0 @@
1
- require 'optparse'
2
-
3
- module VagrantBundlerTools
4
- module Command
5
- class BundleList < Base
6
- def execute
7
- @env.ui.info ssh_execute("cd /vagrant && bundle list")
8
- end
9
- end
10
- end
11
- end
@@ -1,33 +0,0 @@
1
- module VagrantBundlerTools
2
- module Command
3
- class BundleOpen < Base
4
- def execute
5
- opts = OptionParser.new do |opts|
6
- opts.banner = "Show the path to a bundle gem on the vagrant box"
7
- opts.separator ""
8
- opts.separator "Usage: vagrant bundle show <gem_name>"
9
- end
10
-
11
- # Parse the options
12
- argv = parse_options(opts)
13
-
14
- return if !argv
15
-
16
- raise Vagrant::Errors::CLIInvalidUsage, :help => opts.help.chomp if argv.length < 1
17
-
18
- # Method largely copied and pasted from from Bundler::CLI#open
19
- editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? }
20
- if editor
21
- gem_path = locate_gem(argv[0])
22
- Dir.chdir(gem_path) do
23
- command = "#{editor} #{gem_path}"
24
- success = system(command)
25
- @env.ui.info "Could not run '#{command}'" unless success
26
- end
27
- else
28
- @env.ui.info("To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR")
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,24 +0,0 @@
1
- require 'optparse'
2
-
3
- module VagrantBundlerTools
4
- module Command
5
- class BundleShow < Base
6
- def execute
7
- opts = OptionParser.new do |opts|
8
- opts.banner = "Show the path to a bundle gem on the vagrant box"
9
- opts.separator ""
10
- opts.separator "Usage: vagrant bundle show <gem_name>"
11
- end
12
-
13
- # Parse the options
14
- argv = parse_options(opts)
15
-
16
- return if !argv
17
-
18
- raise Vagrant::Errors::CLIInvalidUsage, :help => opts.help.chomp if argv.length < 1
19
-
20
- @env.ui.info locate_gem(argv[0])
21
- end
22
- end
23
- end
24
- end
@@ -1,20 +0,0 @@
1
- module VagrantBundlerTools
2
- module Errors
3
- class BundlePathOutsideVagrantDirectory < Vagrant::Errors::VagrantError
4
- error_key(:bundle_path_outside_vagrant_directory, "vagrant_bundler_tools.errors")
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
19
- end
20
- end
@@ -1,3 +0,0 @@
1
- # This file is automatically loaded by Vagrant. We use this to kick-start
2
- # our plugin.
3
- require 'vagrant_bundler_tools'
@@ -1,11 +0,0 @@
1
- en:
2
- vagrant_bundler_tools:
3
- errors:
4
- bundle_path_outside_vagrant_directory: |-
5
- The guest's bundle path must be a subdirectory of /vagrant to be accessible to the host
6
-
7
- Run
8
-
9
- bundle config path .bundled_gems && bundle install
10
-
11
- On the guest to move the bundle to a location the host can access