vagrant-vbguest 0.6.0.pre5 → 0.6.0.pre6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -7,6 +7,7 @@
7
7
  - Installers no longer are shell scripts, but ruby classes
8
8
  - Users may pass in their own installer classes
9
9
  (yes! plugins in plugins)
10
+ - New `sprintf` style `%{version}` placeholder for iso download path
10
11
  - Revisited command arguments to not just mirror config values:
11
12
  - New `--do` argument: force-run one of those commands:
12
13
  * `start` : Try to start the GuestAdditions Service
@@ -1,3 +1,5 @@
1
+ require 'vagrant-vbguest/core_ext/string/interpolate'
2
+
1
3
  require 'vagrant'
2
4
  require "vagrant-vbguest/errors"
3
5
  require 'vagrant-vbguest/helpers'
@@ -0,0 +1,110 @@
1
+ # This backports the Ruby 1.9 String interpolation syntax to Ruby 1.8.
2
+ #
3
+ # This file is a copy from I18n
4
+ # https://github.com/mattetti/i18n/blob/master/lib/i18n/core_ext/string/interpolate.rb
5
+ # Copyright (c) 2008 The Ruby I18n team
6
+ # It's copied here for the resons given below:
7
+ #
8
+ # This backport has been shipped with I18n for a number of versions. Meanwhile
9
+ # Rails has started to rely on it and we are going to move it to ActiveSupport.
10
+ # See https://rails.lighthouseapp.com/projects/8994/tickets/6013-move-19-string-interpolation-syntax-backport-from-i18n-to-activesupport
11
+ #
12
+ # Once the above patch has been applied to Rails the following code will be
13
+ # removed from I18n.
14
+
15
+ =begin
16
+ heavily based on Masao Mutoh's gettext String interpolation extension
17
+ http://github.com/mutoh/gettext/blob/f6566738b981fe0952548c421042ad1e0cdfb31e/lib/gettext/core_ext/string.rb
18
+ Copyright (C) 2005-2009 Masao Mutoh
19
+ You may redistribute it and/or modify it under the same license terms as Ruby.
20
+ =end
21
+
22
+ begin
23
+ raise ArgumentError if ("a %{x}" % {:x=>'b'}) != 'a b'
24
+ rescue ArgumentError
25
+ # KeyError is raised by String#% when the string contains a named placeholder
26
+ # that is not contained in the given arguments hash. Ruby 1.9 includes and
27
+ # raises this exception natively. We define it to mimic Ruby 1.9's behaviour
28
+ # in Ruby 1.8.x
29
+ class KeyError < IndexError
30
+ def initialize(message = nil)
31
+ super(message || "key not found")
32
+ end
33
+ end unless defined?(KeyError)
34
+
35
+ # Extension for String class. This feature is included in Ruby 1.9 or later but not occur TypeError.
36
+ #
37
+ # String#% method which accept "named argument". The translator can know
38
+ # the meaning of the msgids using "named argument" instead of %s/%d style.
39
+ class String
40
+ # For older ruby versions, such as ruby-1.8.5
41
+ alias :bytesize :size unless instance_methods.find {|m| m.to_s == 'bytesize'}
42
+ alias :interpolate_without_ruby_19_syntax :% # :nodoc:
43
+
44
+ INTERPOLATION_PATTERN = Regexp.union(
45
+ /%\{(\w+)\}/, # matches placeholders like "%{foo}"
46
+ /%<(\w+)>(.*?\d*\.?\d*[bBdiouxXeEfgGcps])/ # matches placeholders like "%<foo>.d"
47
+ )
48
+
49
+ INTERPOLATION_PATTERN_WITH_ESCAPE = Regexp.union(
50
+ /%%/,
51
+ INTERPOLATION_PATTERN
52
+ )
53
+
54
+ # % uses self (i.e. the String) as a format specification and returns the
55
+ # result of applying it to the given arguments. In other words it interpolates
56
+ # the given arguments to the string according to the formats the string
57
+ # defines.
58
+ #
59
+ # There are three ways to use it:
60
+ #
61
+ # * Using a single argument or Array of arguments.
62
+ #
63
+ # This is the default behaviour of the String class. See Kernel#sprintf for
64
+ # more details about the format string.
65
+ #
66
+ # Example:
67
+ #
68
+ # "%d %s" % [1, "message"]
69
+ # # => "1 message"
70
+ #
71
+ # * Using a Hash as an argument and unformatted, named placeholders.
72
+ #
73
+ # When you pass a Hash as an argument and specify placeholders with %{foo}
74
+ # it will interpret the hash values as named arguments.
75
+ #
76
+ # Example:
77
+ #
78
+ # "%{firstname}, %{lastname}" % {:firstname => "Masao", :lastname => "Mutoh"}
79
+ # # => "Masao Mutoh"
80
+ #
81
+ # * Using a Hash as an argument and formatted, named placeholders.
82
+ #
83
+ # When you pass a Hash as an argument and specify placeholders with %<foo>d
84
+ # it will interpret the hash values as named arguments and format the value
85
+ # according to the formatting instruction appended to the closing >.
86
+ #
87
+ # Example:
88
+ #
89
+ # "%<integer>d, %<float>.1f" % { :integer => 10, :float => 43.4 }
90
+ # # => "10, 43.3"
91
+ def %(args)
92
+ if args.kind_of?(Hash)
93
+ dup.gsub(INTERPOLATION_PATTERN_WITH_ESCAPE) do |match|
94
+ if match == '%%'
95
+ '%'
96
+ else
97
+ key = ($1 || $2).to_sym
98
+ raise KeyError unless args.has_key?(key)
99
+ $3 ? sprintf("%#{$3}", args[key]) : args[key]
100
+ end
101
+ end
102
+ elsif self =~ INTERPOLATION_PATTERN
103
+ raise ArgumentError.new('one hash required')
104
+ else
105
+ result = gsub(/%([{<])/, '%%\1')
106
+ result.send :'interpolate_without_ruby_19_syntax', args
107
+ end
108
+ end
109
+ end
110
+ end
@@ -153,10 +153,10 @@ module VagrantVbguest
153
153
 
154
154
  def iso_file
155
155
  @iso_file ||= begin
156
- iso_path = options[:iso_path] || local_iso_path
157
-
158
- if !iso_path || iso_path.empty? && !options[:no_remote]
159
- iso_path = VagrantVbguest::Helpers.web_iso_path_for vm, options
156
+ iso_path = options[:iso_path]
157
+ if !iso_path || iso_path.empty? || iso_path == :auto
158
+ iso_path = local_iso_path
159
+ iso_path = web_iso_path if !iso_path || iso_path.empty? && !options[:no_remote]
160
160
  end
161
161
  raise VagrantVbguest::IsoPathAutodetectionError if !iso_path || iso_path.empty?
162
162
 
@@ -166,13 +166,13 @@ module VagrantVbguest
166
166
  iso_path
167
167
  else
168
168
  # :TODO: This will also raise, if the iso_url points to an invalid local path
169
- raise VagrantVbguest::DownloadingDisabledError.new(:from => iso_url) if options[:no_remote]
169
+ raise VagrantVbguest::DownloadingDisabledError.new(:from => iso_path) if options[:no_remote]
170
170
  env = {
171
171
  :ui => vm.ui,
172
172
  :tmp_path => vm.env.tmp_path,
173
- :iso_url => iso_url
173
+ :iso_url => iso_path
174
174
  }
175
- @download = VagrantVbguest::Download.new(@env)
175
+ @download = VagrantVbguest::Download.new(env)
176
176
  @download.download
177
177
  @download.temp_path
178
178
  end
@@ -1,3 +1,3 @@
1
1
  module VagrantVbguest
2
- VERSION = "0.6.0.pre5"
2
+ VERSION = "0.6.0.pre6"
3
3
  end
data/locales/en.yml CHANGED
@@ -35,7 +35,7 @@ en:
35
35
 
36
36
  downloading_disabled: |-
37
37
  Could not locate a local Virtualbox Guest Additions iso file.
38
- However, the no_remote option was set and thus I will downlownload it from
38
+ However, the no_remote option was set and thus I will not downlownload it from
39
39
  %{from}
40
40
  Please configure a local path to the iso using `config.vbguest.iso_path`
41
41
  in your Vagrantfile or the `--iso` command line option.
metadata CHANGED
@@ -1,13 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vbguest
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ hash: -4156320040
5
+ prerelease: 6
5
6
  segments:
6
7
  - 0
7
8
  - 6
8
9
  - 0
9
- - pre5
10
- version: 0.6.0.pre5
10
+ - pre
11
+ - 6
12
+ version: 0.6.0.pre6
11
13
  platform: ruby
12
14
  authors:
13
15
  - Robert Schulze
@@ -15,16 +17,17 @@ autorequire:
15
17
  bindir: bin
16
18
  cert_chain: []
17
19
 
18
- date: 2013-01-04 00:00:00 +01:00
19
- default_executable:
20
+ date: 2013-01-07 00:00:00 Z
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
23
  name: micromachine
23
24
  prerelease: false
24
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
25
27
  requirements:
26
28
  - - ~>
27
29
  - !ruby/object:Gem::Version
30
+ hash: 31
28
31
  segments:
29
32
  - 1
30
33
  - 0
@@ -36,9 +39,11 @@ dependencies:
36
39
  name: i18n
37
40
  prerelease: false
38
41
  requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
39
43
  requirements:
40
44
  - - ~>
41
45
  - !ruby/object:Gem::Version
46
+ hash: 7
42
47
  segments:
43
48
  - 0
44
49
  - 6
@@ -50,9 +55,11 @@ dependencies:
50
55
  name: log4r
51
56
  prerelease: false
52
57
  requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
53
59
  requirements:
54
60
  - - ~>
55
61
  - !ruby/object:Gem::Version
62
+ hash: 1
56
63
  segments:
57
64
  - 1
58
65
  - 1
@@ -64,9 +71,11 @@ dependencies:
64
71
  name: bundler
65
72
  prerelease: false
66
73
  requirement: &id004 !ruby/object:Gem::Requirement
74
+ none: false
67
75
  requirements:
68
76
  - - ">="
69
77
  - !ruby/object:Gem::Version
78
+ hash: 31
70
79
  segments:
71
80
  - 1
72
81
  - 2
@@ -93,6 +102,7 @@ files:
93
102
  - lib/vagrant-vbguest.rb
94
103
  - lib/vagrant-vbguest/command.rb
95
104
  - lib/vagrant-vbguest/config.rb
105
+ - lib/vagrant-vbguest/core_ext/string/interpolate.rb
96
106
  - lib/vagrant-vbguest/download.rb
97
107
  - lib/vagrant-vbguest/errors.rb
98
108
  - lib/vagrant-vbguest/helpers.rb
@@ -107,7 +117,6 @@ files:
107
117
  - lib/vagrant_init.rb
108
118
  - locales/en.yml
109
119
  - vagrant-vbguest.gemspec
110
- has_rdoc: true
111
120
  homepage: https://github.com/dotless-de/vagrant-vbguest
112
121
  licenses:
113
122
  - MIT
@@ -117,16 +126,20 @@ rdoc_options: []
117
126
  require_paths:
118
127
  - lib
119
128
  required_ruby_version: !ruby/object:Gem::Requirement
129
+ none: false
120
130
  requirements:
121
131
  - - ">="
122
132
  - !ruby/object:Gem::Version
133
+ hash: 3
123
134
  segments:
124
135
  - 0
125
136
  version: "0"
126
137
  required_rubygems_version: !ruby/object:Gem::Requirement
138
+ none: false
127
139
  requirements:
128
140
  - - ">="
129
141
  - !ruby/object:Gem::Version
142
+ hash: 23
130
143
  segments:
131
144
  - 1
132
145
  - 3
@@ -135,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
148
  requirements: []
136
149
 
137
150
  rubyforge_project:
138
- rubygems_version: 1.3.6
151
+ rubygems_version: 1.8.24
139
152
  signing_key:
140
153
  specification_version: 3
141
154
  summary: A Vagrant plugin to install the VirtualBoxAdditions into the guest VM