nugrant 2.0.0.dev2 → 2.0.0.pre1
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 +6 -14
- data/.gitignore +2 -1
- data/.travis.yml +2 -2
- data/CHANGELOG.md +148 -3
- data/Gemfile +8 -20
- data/README.md +266 -72
- data/Rakefile +1 -0
- data/lib/nugrant.rb +14 -6
- data/lib/nugrant/bag.rb +116 -62
- data/lib/nugrant/helper/bag.rb +19 -19
- data/lib/nugrant/helper/env/exporter.rb +208 -0
- data/lib/nugrant/helper/env/namer.rb +47 -0
- data/lib/nugrant/helper/parameters.rb +12 -0
- data/lib/nugrant/helper/stack.rb +86 -0
- data/lib/nugrant/mixin/parameters.rb +98 -0
- data/lib/nugrant/parameters.rb +14 -68
- data/lib/nugrant/vagrant/errors.rb +27 -0
- data/lib/nugrant/vagrant/v2/command/env.rb +101 -0
- data/lib/nugrant/vagrant/v2/command/helper.rb +30 -0
- data/lib/nugrant/vagrant/v2/command/parameters.rb +16 -4
- data/lib/nugrant/vagrant/v2/command/restricted_keys.rb +60 -0
- data/lib/nugrant/vagrant/v2/command/root.rb +12 -2
- data/lib/nugrant/vagrant/v2/config/user.rb +9 -21
- data/lib/nugrant/vagrant/v2/plugin.rb +0 -1
- data/lib/nugrant/version.rb +1 -1
- data/locales/en.yml +13 -0
- data/nugrant.gemspec +3 -7
- data/test/lib/nugrant/helper/env/test_exporter.rb +238 -0
- data/test/lib/nugrant/helper/test_bag.rb +16 -0
- data/test/lib/nugrant/helper/test_parameters.rb +17 -0
- data/test/lib/nugrant/helper/test_stack.rb +152 -0
- data/test/lib/nugrant/test_bag.rb +132 -22
- data/test/lib/nugrant/test_config.rb +95 -92
- data/test/lib/nugrant/test_parameters.rb +232 -177
- data/test/lib/test_helper.rb +3 -0
- data/test/resources/json/params_user_nil_values.json +9 -0
- data/test/resources/vagrantfiles/v2.defaults_mixed_string_symbols +18 -0
- data/test/resources/vagrantfiles/v2.defaults_null_values_in_vagrantuser +23 -0
- data/test/resources/vagrantfiles/v2.defaults_using_string +18 -0
- data/test/resources/vagrantfiles/v2.defaults_using_symbol +18 -0
- data/test/resources/{Vagrantfile.v2.empty → vagrantfiles/v2.empty} +0 -2
- data/test/resources/{Vagrantfile.v2.fake → vagrantfiles/v2.fake} +4 -3
- data/test/resources/vagrantfiles/v2.missing_parameter +3 -0
- data/test/resources/{Vagrantfile.v2.real → vagrantfiles/v2.real} +0 -2
- data/test/resources/yaml/params_user_nil_values.yml +5 -0
- metadata +55 -88
- data/lib/nugrant/vagrant/v1/command/parameters.rb +0 -134
- data/lib/nugrant/vagrant/v1/command/root.rb +0 -81
- data/lib/nugrant/vagrant/v1/config/user.rb +0 -37
- data/lib/nugrant/vagrant/v1/plugin.rb +0 -6
- data/lib/vagrant_init.rb +0 -2
- data/test/resources/Vagrantfile.v1.empty +0 -2
- data/test/resources/Vagrantfile.v1.fake +0 -10
- data/test/resources/Vagrantfile.v1.real +0 -19
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'nugrant'
|
2
|
-
require 'nugrant/version'
|
3
|
-
|
4
|
-
module Nugrant
|
5
|
-
module Vagrant
|
6
|
-
module V1
|
7
|
-
module Command
|
8
|
-
class Root < ::Vagrant::Command::Base
|
9
|
-
def initialize(arguments, environment)
|
10
|
-
super(arguments, environment)
|
11
|
-
|
12
|
-
@arguments, @subcommand, @subarguments = split_main_and_subcommand(arguments)
|
13
|
-
|
14
|
-
# Change super class available arguments to main ones only
|
15
|
-
@argv = @arguments
|
16
|
-
|
17
|
-
@subcommands = ::Vagrant::Registry.new()
|
18
|
-
@subcommands.register(:parameters) do
|
19
|
-
require File.expand_path("../parameters", __FILE__)
|
20
|
-
Parameters
|
21
|
-
end
|
22
|
-
|
23
|
-
@show_help = false
|
24
|
-
@show_version = false
|
25
|
-
end
|
26
|
-
|
27
|
-
def create_parser()
|
28
|
-
return OptionParser.new do |parser|
|
29
|
-
parser.banner = "Usage: vagrant user [-h] [-v] <command> [<args>]"
|
30
|
-
|
31
|
-
parser.separator ""
|
32
|
-
parser.on("-h", "--help", "Print this help") do
|
33
|
-
@show_help = true
|
34
|
-
end
|
35
|
-
|
36
|
-
parser.on("-v", "--version", "Print plugin version and exit.") do
|
37
|
-
@show_version = true
|
38
|
-
end
|
39
|
-
|
40
|
-
parser.separator ""
|
41
|
-
parser.separator "Available subcommands:"
|
42
|
-
|
43
|
-
keys = []
|
44
|
-
@subcommands.each { |key, value| keys << key.to_s }
|
45
|
-
|
46
|
-
keys.sort.each do |key|
|
47
|
-
parser.separator " #{key}"
|
48
|
-
end
|
49
|
-
|
50
|
-
parser.separator ""
|
51
|
-
parser.separator "For help on any individual command run `vagrant user COMMAND -h`"
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
def execute
|
56
|
-
parser = create_parser()
|
57
|
-
arguments = parse_options(parser)
|
58
|
-
|
59
|
-
return version() if @show_version
|
60
|
-
return help(parser) if @show_help
|
61
|
-
|
62
|
-
command_class = @subcommands.get(@subcommand.to_sym) if @subcommand
|
63
|
-
return help(parser) if !command_class || !@subcommand
|
64
|
-
|
65
|
-
@logger.debug("Invoking nugrant command class: #{command_class} #{@subarguments.inspect}")
|
66
|
-
|
67
|
-
command_class.new(@subarguments, @env).execute
|
68
|
-
end
|
69
|
-
|
70
|
-
def help(parser)
|
71
|
-
@env.ui.info(parser.help, :prefix => false)
|
72
|
-
end
|
73
|
-
|
74
|
-
def version()
|
75
|
-
@env.ui.info("Nugrant version #{Nugrant::VERSION}", :prefix => false)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
require 'nugrant'
|
2
|
-
|
3
|
-
module Nugrant
|
4
|
-
module Vagrant
|
5
|
-
module V1
|
6
|
-
module Config
|
7
|
-
class User < ::Vagrant::Config::Base
|
8
|
-
attr_reader :parameters
|
9
|
-
|
10
|
-
def initialize()
|
11
|
-
@parameters = Nugrant::Parameters.new({:config => {:params_filename => ".vagrantuser"}})
|
12
|
-
end
|
13
|
-
|
14
|
-
def [](param_name)
|
15
|
-
return @parameters[param_name]
|
16
|
-
end
|
17
|
-
|
18
|
-
def method_missing(method, *args, &block)
|
19
|
-
return @parameters.method_missing(method, *args, &block)
|
20
|
-
end
|
21
|
-
|
22
|
-
def each(&block)
|
23
|
-
@parameters.each(&block)
|
24
|
-
end
|
25
|
-
|
26
|
-
def defaults(parameters)
|
27
|
-
@parameters.defaults(parameters)
|
28
|
-
end
|
29
|
-
|
30
|
-
def defaults=(parameters)
|
31
|
-
@parameters.defaults=(parameters)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/lib/vagrant_init.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
Vagrant::Config.run do |config|
|
2
|
-
config.vm.box = "base"
|
3
|
-
config.vm.box_url = "http://domain.com/path/to/above.box"
|
4
|
-
|
5
|
-
config.vm.network :forwarded_port, guest: 80, host: 8080
|
6
|
-
|
7
|
-
config.vm.shared_folder "C:/Users/Matt/nugrant", "/vagrant_data"
|
8
|
-
|
9
|
-
config.vm.customize ["modifyvm", :id, "--memory", "256"]
|
10
|
-
|
11
|
-
config.vm.provision :chef_solo do |chef|
|
12
|
-
chef.cookbooks_path = "C:\Users\Matt\Work\kitchen\cookbooks"
|
13
|
-
chef.roles_path = "C:\Users\Matt\Work\kitchen\roles"
|
14
|
-
chef.nodes_path = "C:\Users\Matt\Work\kitchen\nodes"
|
15
|
-
|
16
|
-
chef.add_recipe "mysql"
|
17
|
-
chef.add_role "web"
|
18
|
-
end
|
19
|
-
end
|