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.
@@ -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
@@ -1,8 +0,0 @@
1
- Vagrant::Config.run do |config|
2
- config.user.defaults = {
3
- "test" => "value"
4
- }
5
-
6
- puts config.user.repository.personal
7
- puts config.user.test
8
- end