nugrant 2.1.0 → 2.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.
- checksums.yaml +4 -4
- data/.travis.yml +6 -5
- data/CHANGELOG.md +20 -0
- data/Gemfile +1 -1
- data/lib/nugrant/bag.rb +2 -1
- data/lib/nugrant/helper/bag.rb +0 -2
- data/lib/nugrant/vagrant/v2/action/auto_export.rb +6 -6
- data/lib/nugrant/vagrant/v2/command/env.rb +10 -9
- data/lib/nugrant/version.rb +1 -1
- data/test/lib/nugrant/test_bag.rb +6 -0
- data/test/lib/nugrant/test_parameters.rb +9 -3
- data/test/resources/vagrantfiles/v2.auto_export +13 -0
- data/test/resources/yaml/params_boolean.yml +1 -1
- data/test/resources/yaml/params_numeric_key.yml +3 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36479d2a076b5dfd5f938969edcdc48f12ea9501
|
4
|
+
data.tar.gz: 162d0feefe4e742beeef2561187335ef313d79cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b5d3e769d89e6f527b39aa90696c19c1425a4058c08378dc89f6da33927599d1ce2566b883a012c185c6559b99575abe64863b2b9cf339752cbf72272284841
|
7
|
+
data.tar.gz: 96f6cb2405b5ea6a8a501662f3c36e78d6d9285fbf4b28ba834fff8fa9e7f22ce878cf96c5b4d194fd565ccd6d00c7583c4e97b482409502c4c84c4f4df54b3e
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
# 2.1.1 (December 2nd, 2014)
|
2
|
+
|
3
|
+
* Permit numeric keys in bag. They are converted to symbol
|
4
|
+
like others.
|
5
|
+
|
6
|
+
Fixes [issue #26](https://github.com/maoueh/nugrant/issues/26) again.
|
7
|
+
|
8
|
+
* Removed old code that was switching YAML engine to `syck` when
|
9
|
+
it was available.
|
10
|
+
|
11
|
+
Fixes [issue #14](https://github.com/maoueh/nugrant/issues/14) again.
|
12
|
+
|
13
|
+
* Fixed auto export variables on `vagrant provision` feature. The
|
14
|
+
initial release is not working correctly.
|
15
|
+
|
16
|
+
* Changed how module shortcut is defined. The shortcut is now defined
|
17
|
+
inside the class using it to avoid already defined warnings.
|
18
|
+
|
19
|
+
Fixes [issue #24](https://github.com/maoueh/nugrant/issues/24).
|
20
|
+
|
1
21
|
# 2.1.0 (November 1st, 2014)
|
2
22
|
|
3
23
|
* Added possibility to specify the script path where to generate
|
data/Gemfile
CHANGED
@@ -5,7 +5,7 @@ group :development do
|
|
5
5
|
gem "minitest", "~> 5.3"
|
6
6
|
gem "minitest-reporters", "~> 1.0"
|
7
7
|
|
8
|
-
gem "vagrant", :git => "https://github.com/mitchellh/vagrant.git", :
|
8
|
+
gem "vagrant", :git => "https://github.com/mitchellh/vagrant.git", :branch => "master"
|
9
9
|
end
|
10
10
|
|
11
11
|
group :plugins do
|
data/lib/nugrant/bag.rb
CHANGED
@@ -166,8 +166,9 @@ module Nugrant
|
|
166
166
|
private
|
167
167
|
|
168
168
|
def __convert_key(key)
|
169
|
-
return key.to_sym() if key.respond_to?(:
|
169
|
+
return key.to_s().to_sym() if !key.nil? && key.respond_to?(:to_s)
|
170
170
|
|
171
|
+
raise ArgumentError, "Key cannot be nil" if key.nil?
|
171
172
|
raise ArgumentError, "Key cannot be converted to symbol, current value [#{key}] (#{key.class.name})"
|
172
173
|
end
|
173
174
|
|
data/lib/nugrant/helper/bag.rb
CHANGED
@@ -2,12 +2,12 @@ require 'nugrant'
|
|
2
2
|
require 'nugrant/helper/env/exporter'
|
3
3
|
require 'nugrant/parameters'
|
4
4
|
|
5
|
-
EnvExporter = Nugrant::Helper::Env::Exporter
|
6
|
-
|
7
5
|
module Nugrant
|
8
6
|
module Vagrant
|
9
7
|
module V2
|
10
8
|
module Action
|
9
|
+
EnvExporter = Nugrant::Helper::Env::Exporter
|
10
|
+
|
11
11
|
class AutoExport
|
12
12
|
def initialize(app, env)
|
13
13
|
@app = app
|
@@ -24,16 +24,16 @@ module Nugrant
|
|
24
24
|
|
25
25
|
Array(@config.user.auto_export).each do |exporter|
|
26
26
|
if exporter == :terminal or not EnvExporter.valid?(exporter)
|
27
|
-
env[:ui].warn("ERROR: Invalid config.user.auto_export value '#{
|
27
|
+
env[:ui].warn("ERROR: Invalid config.user.auto_export value '#{exporter}'", :prefix => false)
|
28
28
|
next
|
29
29
|
end
|
30
30
|
|
31
|
-
env[:ui].info("Configuration exported '#{
|
31
|
+
env[:ui].info("Configuration exported '#{exporter}'", :prefix => false)
|
32
32
|
|
33
33
|
case
|
34
|
-
when
|
34
|
+
when exporter == :script
|
35
35
|
EnvExporter.script_exporter(@config.user.__all, options)
|
36
|
-
when
|
36
|
+
when exporter == :autoenv
|
37
37
|
EnvExporter.autoenv_exporter(@config.user.__all, options)
|
38
38
|
end
|
39
39
|
end
|
@@ -2,13 +2,13 @@ require 'nugrant'
|
|
2
2
|
require 'nugrant/helper/env/exporter'
|
3
3
|
require 'nugrant/parameters'
|
4
4
|
|
5
|
-
EnvExporter = Nugrant::Helper::Env::Exporter
|
6
|
-
|
7
5
|
module Nugrant
|
8
6
|
module Vagrant
|
9
7
|
module V2
|
10
8
|
module Command
|
11
9
|
class Env < ::Vagrant.plugin("2", :command)
|
10
|
+
EnvExporter = Nugrant::Helper::Env::Exporter
|
11
|
+
|
12
12
|
def self.synopsis
|
13
13
|
"env utilities to export config.user as environment variables in host machine"
|
14
14
|
end
|
@@ -34,13 +34,6 @@ module Nugrant
|
|
34
34
|
"Changing the format will also change where they are displayed.\n"
|
35
35
|
parser.separator ""
|
36
36
|
|
37
|
-
parser.separator "Available formats:"
|
38
|
-
parser.separator " autoenv => Write commands to a file named `.env` in the current directory.\n" +
|
39
|
-
" See https://github.com/kennethreitz/autoenv for more info."
|
40
|
-
parser.separator " terminal => Display commands to terminal so they can be sourced."
|
41
|
-
parser.separator " script => Write commands to a bash script named `nugrant2env.sh` so it can be sourced."
|
42
|
-
parser.separator ""
|
43
|
-
|
44
37
|
parser.separator "Available options:"
|
45
38
|
parser.separator ""
|
46
39
|
|
@@ -59,6 +52,14 @@ module Nugrant
|
|
59
52
|
parser.on("-h", "--help", "Prints this help") do
|
60
53
|
@show_help = true
|
61
54
|
end
|
55
|
+
|
56
|
+
parser.separator ""
|
57
|
+
parser.separator "Available formats:"
|
58
|
+
parser.separator " autoenv Write commands to a file named `.env` in the current directory."
|
59
|
+
parser.separator " See https://github.com/kennethreitz/autoenv for more info."
|
60
|
+
parser.separator " terminal Write commands to terminal so they can be sourced."
|
61
|
+
parser.separator " script Write commands to a bash script named `nugrant2env.sh` so it can be sourced."
|
62
|
+
parser.separator ""
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
data/lib/nugrant/version.rb
CHANGED
@@ -214,6 +214,12 @@ module Nugrant
|
|
214
214
|
end
|
215
215
|
end
|
216
216
|
|
217
|
+
def test_numeric_keys_converted_to_string
|
218
|
+
bag1 = create_bag({1 => "value1"})
|
219
|
+
|
220
|
+
assert_all_access_equal("value1", bag1, :'1')
|
221
|
+
end
|
222
|
+
|
217
223
|
def test_custom_key_error_handler
|
218
224
|
bag = create_bag({:value => "one"}, :key_error => Proc.new do |key|
|
219
225
|
raise IndexError
|
@@ -11,10 +11,10 @@ module Nugrant
|
|
11
11
|
@@INVALID_PATH = "impossible_file_path.yamljson.impossible"
|
12
12
|
|
13
13
|
def create_parameters(format, current_filename, user_filename, system_filename, defaults = {}, options = {})
|
14
|
-
extension = case
|
15
|
-
when
|
14
|
+
extension = case format
|
15
|
+
when :json
|
16
16
|
"json"
|
17
|
-
when
|
17
|
+
when :yml, :yaml
|
18
18
|
"yml"
|
19
19
|
else
|
20
20
|
raise ArgumentError, "Format [#{format}] is currently not supported"
|
@@ -419,6 +419,12 @@ module Nugrant
|
|
419
419
|
assert_equal(["1", "2", "3", "3", "6", "7"], parameters3.level1.level2)
|
420
420
|
end
|
421
421
|
|
422
|
+
def test_numeric_key_in_yaml_converted_to_symbol()
|
423
|
+
parameters = create_parameters(:yaml, "params_numeric_key", invalid_path, invalid_path)
|
424
|
+
|
425
|
+
assert_equal("value1", parameters.servers[:'1'])
|
426
|
+
end
|
427
|
+
|
422
428
|
def formats()
|
423
429
|
@@FORMATS
|
424
430
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Vagrant.configure("2") do |config|
|
2
|
+
config.user.auto_export = [:autoenv, :script]
|
3
|
+
|
4
|
+
config.user.defaults = {
|
5
|
+
'local' => {
|
6
|
+
'first' => "value1",
|
7
|
+
},
|
8
|
+
}
|
9
|
+
|
10
|
+
#config.vm.box = "opscode_centos-7.0_x86-64"
|
11
|
+
|
12
|
+
raise "You need to define `config.vm.box` for this test"
|
13
|
+
end
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
false
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nugrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthieu Vachon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- test/resources/json/params_user_2.json
|
104
104
|
- test/resources/json/params_user_nil_values.json
|
105
105
|
- test/resources/json/params_windows_eol.json
|
106
|
+
- test/resources/vagrantfiles/v2.auto_export
|
106
107
|
- test/resources/vagrantfiles/v2.defaults_mixed_string_symbols
|
107
108
|
- test/resources/vagrantfiles/v2.defaults_null_values_in_vagrantuser
|
108
109
|
- test/resources/vagrantfiles/v2.defaults_using_string
|
@@ -120,6 +121,7 @@ files:
|
|
120
121
|
- test/resources/yaml/params_defaults_not_at_root.yml
|
121
122
|
- test/resources/yaml/params_empty.yml
|
122
123
|
- test/resources/yaml/params_list.yml
|
124
|
+
- test/resources/yaml/params_numeric_key.yml
|
123
125
|
- test/resources/yaml/params_simple.yml
|
124
126
|
- test/resources/yaml/params_system_1.yml
|
125
127
|
- test/resources/yaml/params_system_2.yml
|