nugrant 0.0.14 → 1.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.
- data/.buildpath +0 -0
- data/.gitignore +2 -0
- data/.project +0 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +24 -1
- data/LICENSE.txt +2 -2
- data/README.md +70 -23
- data/Rakefile +11 -1
- data/lib/nugrant.rb +12 -1
- data/lib/nugrant/config.rb +4 -5
- data/lib/nugrant/parameters.rb +0 -0
- data/lib/nugrant/vagrant/v1/command/parameters.rb +137 -0
- data/lib/nugrant/vagrant/v1/command/root.rb +80 -0
- data/lib/nugrant/vagrant/v1/config/user.rb +33 -0
- data/lib/nugrant/vagrant/v1/plugin.rb +6 -0
- data/lib/nugrant/vagrant/v2/command/parameters.rb +137 -0
- data/lib/nugrant/vagrant/v2/command/root.rb +81 -0
- data/lib/nugrant/vagrant/v2/config/user.rb +33 -0
- data/lib/nugrant/vagrant/v2/plugin.rb +22 -0
- data/lib/nugrant/version.rb +1 -1
- data/lib/vagrant_init.rb +1 -6
- data/nugrant.gemspec +11 -8
- data/test/resources/Vagrantfile.v1.fake +9 -0
- data/test/resources/Vagrantfile.v1.real +19 -0
- data/test/resources/Vagrantfile.v2.fake +9 -0
- data/test/resources/Vagrantfile.v2.real +22 -0
- metadata +34 -40
- data/lib/nugrant/vagrant/command/parameters.rb +0 -135
- data/lib/nugrant/vagrant/command/root.rb +0 -78
- data/lib/nugrant/vagrant/config/user.rb +0 -31
- data/test/resources/Vagrantfile +0 -8
@@ -1,135 +0,0 @@
|
|
1
|
-
require 'nugrant'
|
2
|
-
require 'nugrant/helper/yaml'
|
3
|
-
|
4
|
-
module Nugrant
|
5
|
-
module Vagrant
|
6
|
-
module Command
|
7
|
-
class Parameters < ::Vagrant::Command::Base
|
8
|
-
def initialize(arguments, environment)
|
9
|
-
super(arguments, environment)
|
10
|
-
|
11
|
-
@show_help = false
|
12
|
-
@show_defaults = false
|
13
|
-
@show_system = false
|
14
|
-
@show_user = false
|
15
|
-
@show_project = false
|
16
|
-
end
|
17
|
-
|
18
|
-
def create_parser()
|
19
|
-
return OptionParser.new do |parser|
|
20
|
-
parser.banner = "Usage: vagrant user parameters [<options>]"
|
21
|
-
parser.separator ""
|
22
|
-
|
23
|
-
parser.separator "Available options:"
|
24
|
-
parser.separator ""
|
25
|
-
|
26
|
-
parser.on("-h", "--help", "Print this help") do
|
27
|
-
@show_help = true
|
28
|
-
end
|
29
|
-
|
30
|
-
parser.on("-d", "--defaults", "Show only defaults parameters") do
|
31
|
-
@show_defaults = true
|
32
|
-
end
|
33
|
-
|
34
|
-
parser.on("-s", "--system", "Show only system parameters") do
|
35
|
-
@show_system = true
|
36
|
-
end
|
37
|
-
|
38
|
-
parser.on("-u", "--user", "Show only user parameters") do
|
39
|
-
@show_user = true
|
40
|
-
end
|
41
|
-
|
42
|
-
parser.on("-p", "--project", "Show only project parameters") do
|
43
|
-
@show_project = true
|
44
|
-
end
|
45
|
-
|
46
|
-
parser.separator ""
|
47
|
-
parser.separator "When no options is provided, the command prints the names and values \n" +
|
48
|
-
"of all parameters that would be available for usage in the Vagrantfile.\n" +
|
49
|
-
"The hierarchy of the parameters is respected, so the final values are\n" +
|
50
|
-
"displayed."
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def execute
|
55
|
-
parser = create_parser()
|
56
|
-
arguments = parse_options(parser)
|
57
|
-
|
58
|
-
return help(parser) if @show_help
|
59
|
-
|
60
|
-
@logger.debug("'Parameters' each target VM...")
|
61
|
-
with_target_vms(arguments) do |vm|
|
62
|
-
parameters = vm.config.keys[:user].parameters
|
63
|
-
|
64
|
-
@env.ui.info("# Vm '#{vm.name}'", :prefix => false)
|
65
|
-
|
66
|
-
defaults(parameters) if @show_defaults
|
67
|
-
system(parameters) if @show_system
|
68
|
-
user(parameters) if @show_user
|
69
|
-
project(parameters) if @show_project
|
70
|
-
|
71
|
-
all(parameters) if !@show_defaults && !@show_system && !@show_user && !@show_project
|
72
|
-
end
|
73
|
-
|
74
|
-
return 0
|
75
|
-
end
|
76
|
-
|
77
|
-
def help(parser)
|
78
|
-
@env.ui.info(parser.help, :prefix => false)
|
79
|
-
end
|
80
|
-
|
81
|
-
def defaults(parameters)
|
82
|
-
print_results("Defaults", parameters.defaults)
|
83
|
-
end
|
84
|
-
|
85
|
-
def system(parameters)
|
86
|
-
print_results("System", parameters.system)
|
87
|
-
end
|
88
|
-
|
89
|
-
def user(parameters)
|
90
|
-
print_results("User", parameters.user)
|
91
|
-
end
|
92
|
-
|
93
|
-
def project(parameters)
|
94
|
-
print_results("Project", parameters.project)
|
95
|
-
end
|
96
|
-
|
97
|
-
def all(parameters)
|
98
|
-
print_results("All", parameters.all)
|
99
|
-
end
|
100
|
-
|
101
|
-
def print_results(kind, parameters)
|
102
|
-
if !parameters || parameters.empty?()
|
103
|
-
print_header(kind)
|
104
|
-
@env.ui.info(" Empty", :prefix => false)
|
105
|
-
@env.ui.info("", :prefix => false)
|
106
|
-
return
|
107
|
-
end
|
108
|
-
|
109
|
-
print_parameters(kind, {
|
110
|
-
'config' => {
|
111
|
-
'user' => parameters
|
112
|
-
}
|
113
|
-
})
|
114
|
-
end
|
115
|
-
|
116
|
-
def print_parameters(kind, data)
|
117
|
-
string = Nugrant::Helper::Yaml.format(data.to_yaml, :indent => 1)
|
118
|
-
|
119
|
-
print_header(kind)
|
120
|
-
@env.ui.info(string, :prefix => false)
|
121
|
-
@env.ui.info("", :prefix => false)
|
122
|
-
end
|
123
|
-
|
124
|
-
def print_header(kind, length = 50)
|
125
|
-
@env.ui.info(" #{kind.capitalize} Parameters", :prefix => false)
|
126
|
-
@env.ui.info(" " + "-" * length, :prefix => false)
|
127
|
-
end
|
128
|
-
|
129
|
-
def compute_header_length(string)
|
130
|
-
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
@@ -1,78 +0,0 @@
|
|
1
|
-
require 'nugrant'
|
2
|
-
|
3
|
-
module Nugrant
|
4
|
-
module Vagrant
|
5
|
-
module Command
|
6
|
-
class Root < ::Vagrant::Command::Base
|
7
|
-
def initialize(arguments, environment)
|
8
|
-
super(arguments, environment)
|
9
|
-
|
10
|
-
@arguments, @subcommand, @subarguments = split_main_and_subcommand(arguments)
|
11
|
-
|
12
|
-
# Change super class available arguments to main ones only
|
13
|
-
@argv = @arguments
|
14
|
-
|
15
|
-
@subcommands = ::Vagrant::Registry.new()
|
16
|
-
@subcommands.register(:parameters) do
|
17
|
-
require File.expand_path("../parameters", __FILE__)
|
18
|
-
Parameters
|
19
|
-
end
|
20
|
-
|
21
|
-
@show_help = false
|
22
|
-
@show_version = false
|
23
|
-
end
|
24
|
-
|
25
|
-
def create_parser()
|
26
|
-
return OptionParser.new do |parser|
|
27
|
-
parser.banner = "Usage: vagrant user [-h] [-v] <command> [<args>]"
|
28
|
-
|
29
|
-
parser.separator ""
|
30
|
-
parser.on("-h", "--help", "Print this help") do
|
31
|
-
@show_help = true
|
32
|
-
end
|
33
|
-
|
34
|
-
parser.on("-v", "--version", "Print plugin version and exit.") do
|
35
|
-
@show_version = true
|
36
|
-
end
|
37
|
-
|
38
|
-
parser.separator ""
|
39
|
-
parser.separator "Available subcommands:"
|
40
|
-
|
41
|
-
keys = []
|
42
|
-
@subcommands.each { |key, value| keys << key.to_s }
|
43
|
-
|
44
|
-
keys.sort.each do |key|
|
45
|
-
parser.separator " #{key}"
|
46
|
-
end
|
47
|
-
|
48
|
-
parser.separator ""
|
49
|
-
parser.separator "For help on any individual command run `vagrant user COMMAND -h`"
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def execute
|
54
|
-
parser = create_parser()
|
55
|
-
arguments = parse_options(parser)
|
56
|
-
|
57
|
-
return version() if @show_version
|
58
|
-
return help(parser) if @show_help
|
59
|
-
|
60
|
-
command_class = @subcommands.get(@subcommand.to_sym) if @subcommand
|
61
|
-
return help(parser) if !command_class || !@subcommand
|
62
|
-
|
63
|
-
@logger.debug("Invoking nugrant command class: #{command_class} #{@subarguments.inspect}")
|
64
|
-
|
65
|
-
command_class.new(@subarguments, @env).execute
|
66
|
-
end
|
67
|
-
|
68
|
-
def help(parser)
|
69
|
-
@env.ui.info(parser.help, :prefix => false)
|
70
|
-
end
|
71
|
-
|
72
|
-
def version()
|
73
|
-
@env.ui.info("Nugrant version #{Nugrant::VERSION}", :prefix => false)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'nugrant'
|
2
|
-
|
3
|
-
module Nugrant
|
4
|
-
module Vagrant
|
5
|
-
module Config
|
6
|
-
class User < ::Vagrant::Config::Base
|
7
|
-
attr_reader :parameters
|
8
|
-
|
9
|
-
def initialize()
|
10
|
-
@parameters = Nugrant::Parameters.new()
|
11
|
-
end
|
12
|
-
|
13
|
-
def [](param_name)
|
14
|
-
return @parameters[param_name]
|
15
|
-
end
|
16
|
-
|
17
|
-
def method_missing(method, *args, &block)
|
18
|
-
return @parameters.method_missing(method, *args, &block)
|
19
|
-
end
|
20
|
-
|
21
|
-
def defaults(parameters)
|
22
|
-
@parameters.defaults(parameters)
|
23
|
-
end
|
24
|
-
|
25
|
-
def defaults=(parameters)
|
26
|
-
@parameters.defaults=(parameters)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|