nugrant 0.0.14 → 1.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|